2020Web前端常见经典面试题及答案


问题: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前端开发面试中经常会遇到的面试题及答案,希望对大家有所帮助,若有所疏漏欢迎指正。

原文链接:,转发请注明来源!