JavaScript 常见面试题及详细答案.docxVIP

  • 1
  • 0
  • 约6.44千字
  • 约 11页
  • 2026-11-16 发布于河北
  • 举报

JavaScript常见面试题及详细答案

1.说说var、let、const的区别

答案:

变量提升:var存在变量提升,声明会被提升到当前作用域顶部;let和const也存在提升,但存在暂时性死区,在声明之前访问会报错,不能在定义前使用。

重复声明:var在同一个作用域可以重复声明同一个变量,后面的值会覆盖前面;let、const不允许同一作用域重复声明同名变量。

块级作用域:var只有函数作用域和全局作用域,没有块级作用域;let、const拥有块级作用域,{}包裹的代码块内部声明的变量外部无法访问。

修改赋值:var和let声明的变量可以重新赋值;const声明的是常量,一旦赋值,不能修改其引用地址。如果const保存的是对象或数组,对象内部属性、数组元素是可以修改的,只是不能直接把变量重新指向另一个对象。

示例:

if(true){

vara=1;

letb=2;

}

console.log(a);//1

console.log(b);//UncaughtReferenceError

2.什么是闭包?闭包的优缺点,使用场景

答案:

闭包指一个函数能够访问并记住它外部函数作用域中的变量,即使外部函数已经执行完毕。本质是内部函数持有外部作用域的引用。

优点

可以让变量长期驻留在内存,实现数据私有

文档评论(0)

1亿VIP精品文档

相关文档