JavaScript

96 阅读1分钟

var、let和const的区别?如果希望const定义的对象的属性也不能被修改该怎么做?

  • var声明的变量会绑定到window对象中,而let和const声明的变量不会
  • var声明的变量只有全局和函数作用域,而let和const声明的变量具有块级作用域
  • var声明的变量可以提前访问,而let和const声明的变量不能提前访问(暂时性死区)
  • var声明的变量可以重复声明,而let和const声明的变量不能重复声明
  • const声明的基础类型不可修改,使用const声明的变量必须同时进行初始化,const声明的引用类型只能修改该引用类型的属性而不能给该变量重新赋值

可以通过Object.defineProperty设置writerable:false 或Object.freeze()

Map和Set的区别,Map和Object的区别

Map、Set

数组的filter、every、flat的作用是什么

Array

es6有哪些新特性

ES6

对Promise的了解

手写promise实现 async await Promise

箭头函数和普通函数的区别

  • 声明方式不同,匿名函数
  • this指向不同
  • 箭头函数的this永远不会变,call、apply、bind也无法改变
  • 箭头函数没有原型prototype
  • 箭头函数不能当成一个构造函数

堆和栈的区别

闭包的原理

instanceof的实现原理

new的实现原理

数据类型有哪些?如何判断一个数据是否是数组

JQuery实现链式调用的原理是什么

分别介绍一下原型、原型链、作用域和作用域链的含义和使用场景