问题:js有哪些类型?
解析:JavaScript的类型分为两?类,?类是原始类型,?类是复杂(引?)类型。
原始类型:
boolean
null
undefined
number
string
symbol
复杂类型:
Object
还有?个没有正式发布但即将被加?标准的原始类型BigInt。
问题:ES6模块与CommonJS模块有什么区别?
解析:ES6 Module和CommonJS模块的区别:
CommonJS是对模块的浅拷?,ES6 Module是对模块的引?,即ES6 Module只存只读,不能改变其值,具体点就是指针指向不能变,类似const
import的接?是read-only(只读状态),不能修改其变量值。 即不能修改其变量的指针指向,但可以改变变量内部指针指向,可以对commonJS对重新赋值(改变指针指向),但是对ES6 Module赋值会编译报错。
ES6 Module和CommonJS模块的共同点:
CommonJS和ES6 Module都可以对引?的对象进?赋值,即对对象内部属性的值进?改变。
问题:JavaScript的作?域链理解吗?
解析:JavaScript属于静态作?域,即声明的作?域是根据程序正?在编译时就确定的,有时也称为词法作?域。
其本质是JavaScript在执?过程中会创造可执?上下?,可执?上下?中的词法环境中含有外部词法环境的引?,我们可以通过这个引?获取外部词法环境的变量、声明等,这些引?串联起来?直指向全局的词法环境,因此形成了作?域链。
本文收录了一些在Web前端开发面试中经常会遇到的面试题及答案,希望对大家有所帮助,若有所疏漏欢迎指正。