1.
10 循环定义函数,执行a[6] , 现在i=10
2.
报错 在if代码块中 tep声明在后面。 如果去掉let tep,会弹出123
3.
4. var 定义在整个文件中 let ,const 定义在块级作用域下。 const定义之后,不能再修改,可以修改属性; let定义之后可以修改
5. 20 调用箭头函数obj.fn 输出 obj的a
6. a.在不需要对外操作和访问的属性使用Symbol来定义
b.使用Symbol来替代常量 const A=Sysbol()
c. 设置私有属性, 实例后在实例上访问不到symbol属性
d.注册和获取全局Symbol
e.iterator迭代器
7. 浅拷贝和深拷贝 只针对 Object, Array 这样的复杂对象 。 浅复制只复制一层对象的属性,而深复制则递归复制了所有层级
8. 异步编程 是执行一段代码之后,可能因为后面代码还没办法执行,会先跳过去。等到可以执行时再执行。 不会造成阻塞。
Evenloop : js是单线程语言,存在异步编程任务,有很多 callback 。Evenloop 会不停检查 Call Stack 中是否有任务需要执行,如果没有,就检查 Event Queue,从中弹出一个任务,放入 Call Stack 中,如此往复循环。
宏任务,微任务:宏任务一般都是主程序中的任务,包括整体代码 script .setTimeout,setInterval
微任务一般都是主程序的附带任务,一般都是回调函数。 包括 Promise
9.
10. typeScript是 JavaScript 的超集,包含了 JavaScript 的所有元素,可以载入 JavaScript 代码运行,并扩展了 JavaScript 的语法。TypeScript 可以使用 JavaScript 中的所有代码和编码概念.
11. TypeScript 优势:
a.编写时可以检测错误,可以让开发人员编写更加健壮的代码
b.开发大型项目时,更加容易和便捷。尤其是修改时,有很大的优势
c.协作开发时进行类型检查在编码期间就能发现错误。 调式更高效
d.可以提高工作效率
TypeScript 缺点:
a.有一定学习成本,相对于JavaScript增加了一部分概念
b.相对于JavaScript,和一些库结合还不够
c.如果是开发短期和小项目,会增加开发成本