Qn全局变量Javascript

时间:2017-03-23 09:47:02

标签: javascript java android variables global-variables

var products=[1,2,3];
product_edits();//GIVES [1,2,3].

myApp.onPageInit("mypage",function(page){
    console.log(products);//undefined
    var products=[3,2,1];
    product_edits();//GIVES [1,2,3]?? Shouldn't this be 3,2,1?
});

function product_edits(){
    $(element).click(function(){
        console.log(products);
    });
}

我确实调用了某个pageInit。但我不知道为什么当我认为价值应该变为3,2,1时,产品仍然给出1,2,3。

1 个答案:

答案 0 :(得分:0)

这是因为您在onPageInit的本地范围内重新声明产品。如果你在onPageInit的本地范围内重新声明它,它将无法在函数外部使用。

尝试重新分配产品变量,而不是在本地范围内重新声明。

如果您不想重新分配全局变量,甚至可以更好地将products数组作为函数参数传递。

product_edits(products);