`
newLinuxJava
  • 浏览: 42923 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

javascript 学习笔记 -- 全局变量与局部变量

阅读更多
  这个东西比较特别,就记下来了。

A:
    
function fn() {
	  var n = 100;
     }
     fn();
     alert(n);


B:
    
function fn() {
	  n = 100;
     }
     fn();
     alert(n);


   我们分别执行上面两段程序,发现 A 会报错:n is not defined 。

   解释如下:

   函数内部声明变量的时候,使用var,就是一个局部的、私有的变量,函数外不能访问。

   如果不使用var,那实质上就是在函数内部访问了函数外的(全局的)变量 n 了。

   引申:

   根据 A 的例子,我们可以通过函数来创建一个封闭的空间,从而达到不污染全局变量的目的。

   Example :
(function(){
    // 这里面的变量和方法不会污染全局的变量和方法
    var _a = 1,
        -b = 2;
    //...
})();
1
2
分享到:
评论
1 楼 javalucky 2010-04-27  
学习了谢谢....

相关推荐

Global site tag (gtag.js) - Google Analytics