전역 변수를 함수의 매개 변수로 설정하여 변경하려고합니다. 내가 겪고있는 문제는 로컬 변수를 변경할 때 전역 변수가 변경되지 않는다는 것입니다. 나는 변수의 범위가이 문제의 원인이라는 것을 알고 있지만 어떻게 작동시키는 지 모르겠습니다. 사용자가 사업부를 클릭하면, 그것은 onClick 이벤트에 설정된 부울 전역 변수를 전환하도록로컬 변수로 전역 변수 값 변경
var blnUpgradeGlobal;
function SelectUpgrade(strUpgradeName, blnUpgradeLocal) {
if (blnUpgradeLocal) {
blnUpgradeLocal= false;
$("#" + strUpgradeName).css("background-color", "#EAC300")
}
else {
blnUpgradeLocal= true;
$("#" + strUpgradeName).css("background-color", "Lime")
}
}
<div id="Upgrade1" onclick="SelectUpgrade(this.id, blnUpgradeGlobal)">
Content
</div>
그래서 내가 여기 달성하기 위해 노력하고있어 것은 : 여기에 내가 사용하고 코드입니다. 함수에 정확한 변수를 지정하고 싶지는 않습니다. 그 이유는 많은 중첩 된 if 문이 있기 때문에 큰 중첩 if 문을 작성해야하기 때문입니다.
미리 감사드립니다.
당신이 함수 매개 변수로 설정하면 - 그것은 것 로컬 변수로 취급되고 글로벌 변수는 변경되지 않습니다! – alfasin
'blnUpgradeGlobal'은 다른 곳에서 사용 되었습니까? 즉, 값으로 초기화 되었습니까? – Nolo
@Nolo, 자바 스크립트의 정의 된 변수는 모두 '정의되지 않음'으로 초기화됩니다. 이는 위증입니다. – kay