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);
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下