【面试必备】常见的 JavaScript 面试问题
💡
原文英文,约800词,阅读约需3分钟。
📝
内容提要
JavaScript有7种基本数据类型和1种引用类型。null表示无值,undefined表示未初始化。call、apply和bind用于设置函数的this,区别在于参数传递和调用时机。let、var和const在作用域、提升和可变性上不同。闭包允许函数访问外部变量。原型链实现继承。事件循环管理异步操作。性能优化包括减少HTTP请求、使用CDN、压缩代码和优化图像。
🎯
关键要点
- JavaScript有7种基本数据类型和1种引用类型:基本数据类型包括string、number、boolean、null、undefined、symbol和bigint,引用类型为object。
- null表示无值,通常显式赋值给变量;undefined表示变量未初始化,是未赋值变量的默认值。
- call、apply和bind用于设置函数的this,call立即调用函数,apply以数组形式传递参数,bind返回一个新函数。
- let、var和const在作用域、提升和可变性上不同:var是函数作用域,let和const是块作用域,const不可重新赋值。
- 闭包允许函数访问外部变量,变量在函数执行后仍然存在。
- 原型链实现继承,JavaScript对象通过原型继承属性和方法。
- 事件循环管理异步操作,分为调用栈、任务队列和微任务、宏任务。
- 性能优化包括减少HTTP请求、使用CDN、压缩代码和优化图像。
➡️