我有以下功能:
function initPaymentBlock(bIdx) {
var paymentType = 'default';
if( $('#gc-apply-btn-'+bIdx).length ) {
$('#gc-apply-btn-'+bIdx).click( function() {
poApplyGiftCard(bIdx);
console.log("about to change payment type");
paymentType = 'credit card';
console.log("paymentType inside function: " + paymentType);
});
}
console.log("payment type: " + paymentType);
poGetPaymentOption(paymentType, 0, bIdx);
}
该paymentType
变量在初始语句中设置为“默认”。在内部点击功能中,它已更改为“信用卡”。当我console.log
在内部函数中运行语句时,它返回credit card
. console.log
外部内部函数(就在调用之前poGetPaymentOption
)返回“默认”。
我知道问题是变量的范围,但不知道如何或在哪里设置它,以便poGetPaymentOption
函数调用获得正确的值(如果在运行之前未单击按钮,则为“默认”;“信用卡',如果单击按钮。)有人可以帮我吗?