详解变量声明加 var 和不加 var 的区别
1个回答
展开全部
用var是在当前域中声明变量。如果在方法中声明,则为局部变量,如果是在全局域中声明,则为全局变量。
而不用var事实上并不是声明变量,而是给对象属性赋值!首先如果所在域是某个对象的方法,则它会尝试找到对象的这个属性并给它赋值,如果未找到则在全局对象window找这个属性,找到则赋值,未找到则先创建再赋值。
var n=1; //这是先声明一个变量n,再把它赋值为1
n=1; //这个则是相当于 window.n=1
虽然多数情况下,不用var的情况相当于声明了一个全局变量,但两者(即全局变量和全局对象的属性)还是有区别的,最主要表现在全局变量不可删除,而全局对象的属性是可以删除的。
而不用var事实上并不是声明变量,而是给对象属性赋值!首先如果所在域是某个对象的方法,则它会尝试找到对象的这个属性并给它赋值,如果未找到则在全局对象window找这个属性,找到则赋值,未找到则先创建再赋值。
var n=1; //这是先声明一个变量n,再把它赋值为1
n=1; //这个则是相当于 window.n=1
虽然多数情况下,不用var的情况相当于声明了一个全局变量,但两者(即全局变量和全局对象的属性)还是有区别的,最主要表现在全局变量不可删除,而全局对象的属性是可以删除的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询