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。
答案 0 :(得分:0)
这是因为您在onPageInit的本地范围内重新声明产品。如果你在onPageInit的本地范围内重新声明它,它将无法在函数外部使用。
尝试重新分配产品变量,而不是在本地范围内重新声明。
如果您不想重新分配全局变量,甚至可以更好地将products数组作为函数参数传递。
product_edits(products);