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