# fed-e-task-01-01 **Repository Path**: shishuaichao/fed-e-task-01-01 ## Basic Information - **Project Name**: fed-e-task-01-01 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-05-28 - **Last Updated**: 2021-11-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README - 1. 结果:10 - 因为全局变量i是一个全局变量在先执行for循环,将累加到10,然后调用函数打印i,此时i是循环后的值 - 2. 结果:报错 - 因为let声明变量会形成一个局部的作用域,在该作用域内使用变量在声明之前,由于let不会有变量提升,所以会报错 - 3. ```js arr.sort()[0] - 4. - var 有变量提升,全局变量,变量可以修改 - let 没有变量提升,会形成一个局部的变量作用域,变量可以修改 - const 没有变量提升,变量不能修改,用于存放常量 - 5. 结果:20 - 打印所在的位置的是箭头函数,不会修改this指向,跟fn的this一致, 根据谁调用指向谁的原理,obj调用的fn,fn中的this指向obj,所以输出20 - 6. symbol用途: - 一个symbol值能作为对象属性的标识,其特性是在对象中创建唯一的属性,利用这个特性就可以维护对象中的私有变量 - 7. 浅拷贝是指直接赋值原来的变量,普通类型的变量就不会有问题,会开辟新的内存空间存放,引用类型的变量就不会了,因为这样的赋值只是复制到了引用对象的指针,如果新的拷贝对象修改属性,会影响到老的对象中内容。深拷贝就不是复制引用对象的指针,而是复制引用对象指针中对应的值。 - 8. 异步编程就是js的事件队列,不同的时间压入事件队列中的执行顺序先后不同,就是存在等待执行的现象。就是异步。 eventloop就是管理事件插入顺序的,把不同的时间根据优先级插入到事件队列中。 宏任务就是正常的压到事件队列中的事件,微任务可以宏任务中产生的子任务,执行顺序排在下一个宏任务之前。 - 10. ts是js的超集,ts中可以用所有ts的写法,但是js中不能有那个ts中的写法 - 11. 优点:可以语法检查,及时发现错误