一、数据类型检测方法
- typeof:不能区分object、null、Array,都返回的是object,判断返回类似boolean格式
- instanceof:可以区分引用类型的数据,不能判断基本数据类型的数据,返回true和false格式
- Object.prototype.toString.call(),都可以判断,返回类似[object Number]格式
二、let、const、var
- let与const有块级作用域,var没有此概念
- var具有变量提升,可以先使用后使声明,但是let需要先声明再使用
- var可以重复声明,但是其他不行
- 会有暂时性死区
三、闭包
可以访问外部变量的函数
缺点:可能会导致内存泄漏
四、this指向
- 作为普通函数执行时,指向window
- 作为对象的方法调用时,指向该对象
- 构造函数中指向实例对象
- 箭头函数中调用时,指向所处的外层环境
- 事件处理函数时,指向触发事件的对象
五、new操作符的作用
- 隐式的创建一个空对象,让this指向这个空对象
- 执行构造函数中的代码
- 让实例对象的__proto__指向构造函数中的prototype
- 隐式的返回创建好的对象(判断函数的返回值类型,如果是值类型,返回创建好的对象,如果是引用类型,就返回引用类型的对象)