简要咨询咨询QQ网站导航网站搜索手机站点联系我们设为首页加入收藏 

javascript定义变量时有var和没有var的区别探讨

来源:易贤网   阅读:1080 次  日期:2014-07-25 18:54:43

温馨提示:易贤网小编为您整理了“javascript定义变量时有var和没有var的区别探讨”,方便广大网友查阅!

定义变量时省略var是不安全的,不过是合法的。定义的变量的作用域取决于定义的位置。

我们先来看一段代码

function show(){

alert(abc);

}

var abc="defg";

show();

有过C++或Java编程经验的人可能会说:“这程序,死定了,变量竟然在引用了该变量的函数后边定义,bug会灭掉你的。”放在浏览器上运行一下,结果怎样?完美运行!接下来我们就说一下这是咋回事——有var和没有var定义的变量的区别。

1、没有var

简明的说,定义变量时省略var是不安全的,不过是合法的。这时无论该变量是在什么位置定义的,解释器都会赋予该变量以全局作用域。

2、有var

安全的,合法的。定义的变量的作用域取决于定义的位置。至于作用域具体是什么,请参见本博客中“javascript作用域”一文。

这样,开头的那个问题可以解决了。函数中的才是对abc的定义,只不过值为undefined,这时abc有全局作用域,函数外的只是对abc的值的更新。

更多信息请查看IT技术专栏

更多信息请查看网络编程
点此处就本文及相关问题在本站进行非正式的简要咨询(便捷快速)】     【点此处查询各地各类考试咨询QQ号码及交流群
上一篇:JQuery中$(document)是什么意思有什么作用
下一篇:javascript实现的元素拖动函数宿主为浏览器
易贤网手机网站地址:javascript定义变量时有var和没有var的区别探讨
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!