前端 JavaScript 基础面试题, 如何判断 JavaScript 变量是数组?
前端 JavaScript 基础面试题, 如何判断 JavaScript 变量是数组?
QA
Step 1
Q:: 如何判断 JavaScript 变量是数组?
A:: 在 JavaScript 中,可以使用 Array.isArray() 方法来判断一个变量是否是数组。例子:Array.isArray(variable) 将返回 true 或 false。还可以使用 Object.prototype.toString.call(variable) === '[object Array]'
进行判断。
Step 2
Q:: JavaScript 中的数据类型有哪些?
A:: JavaScript 中的数据类型分为两类:原始类型和引用类型。原始类型包括:Undefined、Null、Boolean、Number、String、Symbol、BigInt;引用类型包括:Object(包括 Array、Function、Date 等)。
Step 3
Q:: JavaScript 中 == 和 ===
有什么区别?
A:: == 是比较运算符,会在比较时进行类型转换;=== 是严格比较运算符,不会进行类型转换。例子:'5' == 5 返回 true,而 '5' === 5
返回 false。
Step 4
Q:: 解释 JavaScript 的作用域链?
A:: JavaScript 的作用域链是指在函数执行时,按照词法作用域规则形成的一个变量查找链。每个函数都有自己的作用域,函数内部定义的变量会先在函数内部查找,如果找不到,再到上层作用域查找,直到全局作用域。
Step 5
Q:: 什么是闭包(Closure)?
A:: 闭包是指在函数内部定义的函数,能够访问其外部函数的变量。闭包使得内部函数可以在外部函数执行结束后继续访问这些变量。例子:function outer() { var a = 1; function inner() { console.log(a); } return inner; } var closure = outer(); closure(); // 输出 1
。
Step 6
Q:: 什么是原型链(Prototype Chain)?
A:: 原型链是指对象通过原型(prototype)属性相互连接形成的链式结构。每个对象都有一个原型对象,原型对象也有自己的原型,直到某个对象的原型为 null 结束。原型链的顶端是 Object.
prototype。