共计 446 个字符,预计需要花费 2 分钟才能阅读完成。
舒适提醒:严格模式不容许应用未声明的变量。
var 定义的变量会先定义,全副定义结束再赋值。
比方咱们执行上面的语句:
console.log(temp);
你会看见如下报错:
VM47:1 Uncaught ReferenceError: temp is not defined
at <anonymous>:1:13
咱们把代码改一下:
console.log(temp);
var temp='我爱你,中国!';
能够看见打印了 undefined
,没有报错,也没有打印 '我爱你,中国!'
。
其实批改后的代码相当于:
var temp;
console.log(temp);
temp='我爱你,中国!';
再看个例子:
console.log(temp);
function temp(){}
var temp='我爱你,中国!';
看看对应后果:
ƒ temp(){}
这阐明,和 var 一样,function 定义的变量也会进行晋升,都将被提到以后作用域的最顶部(然而不会初始化);同时,函数申明的优先级大于变量申明的优先级(function>var)。
正文完
发表至: javascript
2021-04-01