|
1 |
| - |
2 |
| -# JavaScript 题目 前端面试题目 |
| 1 | +### JavaScript 题目 前端面试题目 |
3 | 2 |
|
4 | 3 | 题目和答案通过网络整理,如有错误欢迎 pr 修正。
|
5 | 4 |
|
6 | 5 | 答案被折叠,点击即可查看答案。:heart:
|
7 | 6 |
|
8 |
| -* [CSS](./css/README.md) |
9 |
| -* [HTTP](./http/README.md) |
10 | 7 | ---
|
11 | 8 |
|
12 |
| -###### 箭头函数和普通函数的区别? |
| 9 | +#### js 七种数据类型? |
13 | 10 |
|
14 | 11 | <details><summary><b>答案</b></summary>
|
15 | 12 | <p>
|
16 | 13 |
|
17 |
| -1、箭头函数作为匿名函数,不能作为构造函数,不能使用 `new` 运算符 |
18 |
| -2、箭头函数不绑定 `auguments`,用 `rest` 参数...解决 |
19 |
| -3、箭头函数会捕获其上下文的 `this` 值,作为自己的 `this` 值 |
20 |
| -4、箭头函数当方法使用的时候,没有定义 this 绑定 |
21 |
| -5、使用`call()`和 `apply()`调用,传入参数时,参数一的改变对 `this` 没有影响 |
22 |
| -6、箭头函数没有原型属性 |
23 |
| -7、箭头函数不能当做 `Generator` 函数,不能使用 `yiel` 关键字。 |
| 14 | +`Boolean` |
| 15 | +`Null` |
| 16 | +`Undefined` |
| 17 | +`Number` |
| 18 | +`String` |
| 19 | +`Object` |
| 20 | +`Symbol` (ECMAScript 6 新定义) |
| 21 | +(ES6 之前)其中 5 种为基本类型:`string`,`number`,`boolean`,`null`,`undefined` |
| 22 | +ES6 出来的 `Symbol` 也是原始数据类型 ,表示独一无二的值 |
| 23 | +`Object` 为引用类型(范围挺大),也包括数组、函数 |
24 | 24 |
|
25 | 25 | </p>
|
26 | 26 | </details>
|
27 | 27 |
|
28 | 28 | ---
|
29 | 29 |
|
30 |
| -###### js 七种数据类型 |
| 30 | +#### js 有哪几种方法定义函数? |
31 | 31 |
|
32 | 32 | <details><summary><b>答案</b></summary>
|
33 | 33 | <p>
|
34 | 34 |
|
35 |
| -Boolean |
36 |
| -Null |
37 |
| -Undefined |
38 |
| -Number |
39 |
| -String |
40 |
| -Object |
41 |
| -Symbol (ECMAScript 6 新定义) |
42 |
| -(ES6 之前)其中 5 种为基本类型:string,number,boolean,null,undefined |
43 |
| -ES6 出来的 Symbol 也是原始数据类型 ,表示独一无二的值 |
44 |
| -Object 为引用类型(范围挺大),也包括数组、函数, |
| 35 | +函数声明表达式 |
| 36 | + |
| 37 | +```javascript |
| 38 | +var func = function add(a, b) { |
| 39 | + return a + b |
| 40 | +} |
| 41 | +``` |
| 42 | + |
| 43 | +function 操作符 |
| 44 | + |
| 45 | +```javascript |
| 46 | +var func = function(a, b) { |
| 47 | + return a + b |
| 48 | +} |
| 49 | +``` |
| 50 | + |
| 51 | +Function 构造函数 |
| 52 | + |
| 53 | +```javascript |
| 54 | +var func = new Function('a', 'b', 'return a + b') |
| 55 | +``` |
| 56 | + |
| 57 | +ES6:arrow function |
| 58 | + |
| 59 | +```javascript |
| 60 | +var func = (a, b) => { |
| 61 | + return a + b |
| 62 | +} |
| 63 | +``` |
45 | 64 |
|
46 | 65 | </p>
|
47 | 66 | </details>
|
48 | 67 |
|
49 | 68 | ---
|
50 | 69 |
|
51 |
| -###### null 和 undefined 的差异 |
| 70 | +#### null 和 undefined 的差异? |
52 | 71 |
|
53 | 72 | <details><summary><b>答案</b></summary>
|
54 | 73 | <p>
|
55 | 74 |
|
56 | 75 | 相同点:
|
57 | 76 |
|
58 |
| -在 if 判断语句中,值都默认为 false |
| 77 | +在 `if` 判断语句中,值都默认为 `false` |
59 | 78 | 大体上两者都是代表无,具体看差异
|
60 | 79 |
|
61 | 80 | 差异:
|
62 | 81 |
|
63 |
| -null 转为数字类型值为 0,而 undefined 转为数字类型为 NaN(Not a Number) |
64 |
| -undefined 是代表调用一个值而该值却没有赋值,这时候默认则为 undefined |
65 |
| -null 是一个很特殊的对象,最为常见的一个用法就是作为参数传入(说明该参数不是对象) |
66 |
| -设置为 null 的变量或者对象会被内存收集器回收 |
| 82 | +`null` 转为数字类型值为 0,而 `undefined` 转为数字类型为 `NaN`(Not a Number) |
| 83 | +`undefined` 是代表调用一个值而该值却没有赋值,这时候默认则为 `undefined` |
| 84 | +`null` 是一个很特殊的对象,最为常见的一个用法就是作为参数传入(说明该参数不是对象) |
| 85 | +设置为 `null` 的变量或者对象会被内存收集器回收 |
67 | 86 |
|
68 | 87 | </p>
|
69 | 88 | </details>
|
| 89 | + |
| 90 | +--- |
| 91 | + |
| 92 | +#### 箭头函数和普通函数的区别? |
| 93 | + |
| 94 | +<details><summary><b>答案</b></summary> |
| 95 | +<p> |
| 96 | + |
| 97 | +- 箭头函数作为匿名函数,不能作为构造函数,不能使用 `new` 运算符 |
| 98 | +- 箭头函数不绑定 `auguments`,用 `rest` 参数...解决 |
| 99 | +- 箭头函数会捕获其上下文的 `this` 值,作为自己的 `this` 值 |
| 100 | +- 箭头函数当方法使用的时候,没有定义 this 绑定 |
| 101 | +- 使用`call()`和 `apply()`调用,传入参数时,参数一的改变对 `this` 没有影响 |
| 102 | +- 箭头函数没有原型属性 |
| 103 | +- 箭头函数不能当做 `Generator` 函数,不能使用 `yiel` 关键字。 |
| 104 | + |
| 105 | +</p> |
| 106 | +</details> |
| 107 | + |
| 108 | +--- |
0 commit comments