a = 1相当于window.a = 1,是动态地为window添加一个成员;
var a = 1是在当前作用域(也就是window)下声明一个a,这个声明是在整个作用域内都有效的。
换句话说,其实区别就在于var a = 1比a = 1多了一个声明的行为。
var a = 1
声明的话:
console.log(a);----undefined
var a=1;------已经声明,但是顺序问题
a=1::
例子:
console.log(a);----a is not defined
a=1;
但是区别于函数定义:
对于函数声明:
a()
function a(){
}
js解析器会优先读取,确保在所有代码执行之前声明已经被解析,
而函数表达式:
a();
var a = function(){
}同定义其它基本类型的变量一样:a此时处于undefined,所以a()会报错,这个时候与顺序有关
时间: 2024-10-04 09:46:24