Qn on Global Variable Javascript


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);
    });
}

我确定页面初始化被称为。 但我不知道为什么当我认为值应该更改为 3,2,1 时,产品仍然给出 1,2,3。

这是因为您要在 onPageInit 的本地范围内重新声明产品。如果在 onPageInit 的本地范围内重新声明它,它将在函数之外不可用。

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

或者,如果您不想重新分配全局变量,最好将 products 数组作为函数参数传递。

product_edits(products);

最新更新