参数作为javascript中的全局变量

时间:2011-01-05 20:19:01

标签: javascript jquery

我想使用全局变量作为两个或多个函数的参数:

$(document).ready(function(){
     function foo(x){
        var z = '#'+ x ;
        // use function bar(y,z) insde;
     }
     function bar(y,z){
       //
     }

    });

实际上,bar函数无法看到z参数。有没有办法将“z”定义为全局变量?

由于

2 个答案:

答案 0 :(得分:4)

一个解决方案:

$(document).ready(function(){

    var z;

    function foo(x) {
        z = '#' + x;
    }

    function bar(y) {
        // use z
    }

});

如您所见,z变量是就绪处理程序的本地变量。 foo和bar函数可以访问它。

然而,这可能是也可能不是最佳解决方案。这取决于如何使用foo和bar函数(它们从哪里调用)。

答案 1 :(得分:2)

有两种方法可以做到这一点。将变量设为全局变量,或将其作为参数传递。

var z;
function foo(x) {
  z = '#' + x;
}
function bar(y,z){

}

function foo(x) {
  var z = '#' + x;
  var result = bar(y,z);
}
....