Wang LuYao
Wang LuYao
#### 1.IIFE中的函数是一个函数表达式,不是函数声明。 区分函数声明和表达式最简单的方法是看function关键字出现在声明中的位置(不仅仅是一行代码,而是整个声明中的位置)。如果function是声明中的第一个词,那么就是一个函数声明,否则就是一个函数表达式。比如这里的第一个词是"(",不是function,所有这里的函数是一个函数表达式。 #### 2.函数声明中的的函数名被绑定在它声明所在的作用域中。函数表达式中的函数名被绑定在函数自身的函数体中。 在IIFE中的函数名不会污染外部作用域。 ```js (function b() { console.log(b); })() ``` 这里函数名"b"只在函数内部有效,它是函数内部的局部变量。 #### 3.在函数表达式的内部只能通过函数名访问该函数,但是不能通过函数名对该函数重新赋值 ```js (function b() { b = 20; // 无效 console.log(b); })() ```
#### 方式一 ```js for (let i = 0; i < 10; i++) { setTimeout(() => { console.log(i); }, 1000 * i); } ``` #### 方式二 ```js for (var i =...
```js class LazyManClass { constructor(name) { this.name = name; this.taskList = []; this.init(); } init() { console.log(`Hi I am ${this.name}`); setTimeout(() => { this.next(); }, 0); } next() { const...
> 引用qs后,使用qs.stringify(data); 错误:stringify is not a function ### 如果需要post表单格式的数据可以使用URLSearchParams或FormData: ```js var params = new URLSearchParams(); params.append('param1', 'value1'); params.append('param2', 'value2'); axios.post('/user', params); ``` 封装: ```js function objToParams(data) { var params =...