有哪些JavaScript面试题是面试官必问的20个?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2697个文字,预计阅读时间需要11分钟。
问题1:JavaScript 中 undefined 和 not defined 的区别
JavaScript 中,未声明的变量使用 typeof 运算符会返回 undefined。如果你尝试直接使用一个未声明的变量,会抛出异常:`var name is not defined`。如果没有处理这个异常,代码就会停止执行。
但是,使用 typeof undeclared_variable 并不会抛出错误,因为 typeof 运算符不会尝试去执行变量,而是检查变量是否已声明。
问题1:JavaScript 中 undefined 和 not defined 的区别
JavaScript 未声明变量直接使用会抛出异常:var name is not defined,如果没有处理异常,代码就停止运行了。 但是,使用typeof undeclared_variable并不会产生异常,会直接返回 undefined。
var x; // 声明 x console.log(x); //output: undefined console.log(typeof y); //output: undefined console.log(z); // 抛出异常: ReferenceError: z is not defined
问题2:下面的代码输出什么?
var y = 1; if (function f(){}) { y += typeof f; } console.log(y);
正确的答案应该是 1undefined。
JavaScript中if语句求值其实使用eval函数,eval(function f(){}) 返回 function f(){} 也就是 true。
下面我们可以把代码改造下,变成其等效代码。
本文共计2697个文字,预计阅读时间需要11分钟。
问题1:JavaScript 中 undefined 和 not defined 的区别
JavaScript 中,未声明的变量使用 typeof 运算符会返回 undefined。如果你尝试直接使用一个未声明的变量,会抛出异常:`var name is not defined`。如果没有处理这个异常,代码就会停止执行。
但是,使用 typeof undeclared_variable 并不会抛出错误,因为 typeof 运算符不会尝试去执行变量,而是检查变量是否已声明。
问题1:JavaScript 中 undefined 和 not defined 的区别
JavaScript 未声明变量直接使用会抛出异常:var name is not defined,如果没有处理异常,代码就停止运行了。 但是,使用typeof undeclared_variable并不会产生异常,会直接返回 undefined。
var x; // 声明 x console.log(x); //output: undefined console.log(typeof y); //output: undefined console.log(z); // 抛出异常: ReferenceError: z is not defined
问题2:下面的代码输出什么?
var y = 1; if (function f(){}) { y += typeof f; } console.log(y);
正确的答案应该是 1undefined。
JavaScript中if语句求值其实使用eval函数,eval(function f(){}) 返回 function f(){} 也就是 true。
下面我们可以把代码改造下,变成其等效代码。

