JavaScript基础面试题
# JavaScript基础面试题
# 1.说出 JavaScript 中的常⻅数据类型
Number String Boolean Null Undefined Object (引用类型,Array、Function等都属于Object) Symbol BigInt
# 2.说出count++和++count的区别?
如果需要⽴刻使⽤⾃增之后的值 就⽤前置型 反之后置型
# 3.说出==和===的区别?
==会做隐式类型转换
# 4.逻辑与&&和逻辑或||的本质和区别?
从左往右依次计算。如果找到最后没有找到,返回最后个运算元
# 5.说说什么是函数回调?什么匿名函数?
⼀个函数作为另外⼀个函数的参数,称之为回调函数,也称为⾼阶函数。
如果在传⼊⼀个函数时,我们没有指定这个函数的名词或者通过函数表达式指定函数对应的变量,那么这个函数称之为匿名函数。
匿名函数:自执行函数、箭头函数等没有名称的函数。赋值给某一变量的函数也是匿名函数。
# 6.说出对DOM和document对象的理解
DOM:⽂档对象模型(Document Object Model)将⻚⾯所有的内容表示为可以修改的对象
- 浏览器将我们编写在HTML中的每⼀个元素(Element)都抽象成了⼀个个对象
- 所有这些对象都可以通过JavaScript来对其进⾏访问,那么我们就可以通过JavaScript来操作⻚⾯;
- 所以,我们将这个抽象过程称之为 ⽂档对象模型(Document Object Model)
Document节点表示的整个载⼊的⽹⻚,它的实例是全局的document对象:
- 对DOM的所有操作都是从 document 对象开始的
- 它是DOM的⼊⼝点,可以从document开始去访问任何节点元素;
# 7.说说常⻅的节点(Node)属性
# 8.说说attribute和Property的区别和关系
# 9.说说事件冒泡和事件捕获的理解?
# 10.说说你对事件委托的理解?
# 11.说说load和DOMContentLoaded的区别
load
- 浏览器加载完所有的HTML 还加载完所有的外部资源 样式 图⽚等
DOMContentLoaded
- HTML⽂档所有资源都加载完成 并构建了DOM树 但是⼀些外部资源还没有加载完成 如图⽚的src
编辑 (opens new window)