javascript单var语句

在函数顶部使用唯一一个var语句是比较推荐的一种模式,好处是:
1、可以在同一个地方找到所有的变量。
2、避免在变量声明之前使用该变量产生的逻辑错误。

  JavaScript允许在函数的任意地方写任意多个var语句,但它们的行为会像在函数体顶部声明变量一样,这种现象被称为“声明提前”,当你在声明语句之前使用这个变量时,可能会造成逻辑错误。
  对于JavaScript来说,一旦在某个作用域(同一个函数内)里声明了一个变量,那么这个变量在整个作用域内都是存在的,包括在var声明语句之前的位置。

  /*  不熟悉想当然的觉得第一个alert是global,第二个是local。但是结果却非如此。
    * 分析: 第一个alert的结果不是全局变量的'global'。因为myname在函数内被声明了,尽管在语句的后面定义,在这个作用域内所有的变量声明都会被提前到函数顶部
    *   也就是var myname;那么第一个alert的结果就是undefined;
    * 因此,为了避免类似带有“歧义”的程序逻辑,最好在使用之前一起声明。
    */
    myname = "global"; // 全局变量
    function func() {
        alert(myname); // "undefined"
        var myname = "local";
        alert(myname); // "local"
    }
    func();

3、可以提醒看到定义的变量 是局部还是全局。
4、代码量更少。


使用一个var定义多个变量的时候,用逗号分隔,也可以直接变量初始化。

function func() {
        var a,
            b,
            sum = a + b,
            myObject = {},
            i;
    }

 

posted on 2015-01-22 14:07  比比已存在  阅读(414)  评论(0编辑  收藏  举报