5个JavaScript经典面试题
1:Scope作用范围
(function(){
vara=b=5;
})();
console.log(b);
什么会被打印在控制台上?
回答
上面的代码会打印5。
这个问题的诀窍是,这里有两个变量声明,但a使用关键字var声明的。代表它是一个函数的局部变量。与此相反,b变成了全局变量。
这个问题的另一个诀窍是,它没有使用严格模式(‘usestrict';)。如果启用了严格模式,代码就会引发ReferenceError的错误:B没有定义(bisnotdefined)。请记住,严格模式,则需要明确指定,才能实现全局变量声明。比如,你应该写:
(function(){
'usestrict';
vara=window.b=5;
})();
console.log(b);
热门推荐
10 五一公司放假祝福语简短
11 追星女孩的祝福语简短
12 给长辈端午祝福语 简短
13 生日祝福语有诗意简短
14 团圆日祝福语简短
15 中秋商务祝福语简短最新
16 温暖文艺简短祝福语短句
17 男孩上学祝福语简短的
18 入住酒店文案祝福语简短