专注于discuz,uchome,dedecms等各类PHP程序仿站(二次开发和模板制作)。

« »
2012-01-06javascript

4,005 阅读

Javascript里有var和没有的区别及其定义

var a=10;    //正确

a=10;    //正确

在javascript中,以上两种方法都是定义变量的正确方法。微软的Script56.CHM中是这样解释的:

尽管并不安全,但声明语句中忽略 var 关键字是合法的 JScript 语法。这时,JScript 解释器给予变量全局范围的可见度。当在过程级中声明一个变量时,它不能用于全局范围;这种情况下,变量声明必须var 关键字。

从上面的描述看来,对待这两种定义方法要区分以下两种情况:

1.在一个过程级中(即位于function的定义范围内,无论是函数,还是类)的任何地方,包括在一个区块里(for,while,if……),定义变量时,使用var定义,则此变量只在这个过程级内起作用,反之为全局变量。

2.在过程级外定义变量时,无论是否忽略var,都将定义一个全局变量。

从这点看来,JS和其他语言有不一样的地方,变量的范围不以“{}”作为边界,而是以”function(){}”为边界,而且在过程内可以很轻松的定义全局变量。如果不注意这个问题的话,是很容易产生不可预知的错误的。

对于使用var,我的建议是要养成好的使用习惯:

  1. 在程序的开头,统一定义全局变量;
  2. 所有的变量在定义时都要加上var;
  3. 尽量不要在不同的过程中使用相同的变量名。

通过注意Javascript里var的用法 – php css javascript的日志 – 网易博客.

原创文章如转载,请注明:转载自火跃工作室
本文网址:http://www.huoyue.org/javascript-var

日志信息 »

该日志于2012-01-06 09:22由 火跃 发表在javascript分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

相关日志 »

没有评论

发表评论 »