js面试题\n
1、js数据类型\n\n基本数据类型\nNumber、String、Boolean、Null、Undefined、Symbol、bigInt\n引用数据类型\nobject、Array、Date、Function、RegExp\n
2、js变量和函数声明的提升\n\n在js中变量和函数的声明会提升到最顶部执行\n函数的提升高于变量的提升\n函数内部如果用 var 声明了相同名称的外部变量,函数将不再向上寻找。\n匿名函数不会提升。\n
3、闭包\n\n闭包就是能够读取其他函数内部变量的函数\n闭包基本上就是一个函数内部返回一个函数\n好处\n可以读取函数内部的变量\n将变量始终保持在内存中\n可以封装对象的私有属性和私有方法\n坏处\n比较耗费内存、使用不当会造成内存溢出的问题\n4、== 和 ===的区别\n\n==是非严格意义上的相等\n值相等就相等\n===是严格意义上的相等,会比较两边的数据类型和值大小\n值和引用地址都相等才相等\n5、this\n\nthis总是指向函数的直接调用者\n如果有new关键字,this指向new出来的对象\n在事件中,this指向触发这个事件的对象