[英]Have a function change outside/global variables in a generic way
我想寫一個通用的方法來更改函數內部的屬性。 它實際上發生在函數內部,但是我認為可以通過以下方式簡化問題。
var showItemA = true;
var showItemB = true;
var showItemC = false;
var switchToggle = function (toggleTarget) {
toggleTarget = !toggleTarget
// Do other stuff
console.log(toggleTarget);
//false
};
switchToggle(showItemA);
console.log(showItemA);
//true; but I want it to be false
可以使用物體嗎? 這本質上與在找到的答案中使用window
相同,但是不會不必要地使用新變量的負載污染全局空間。
var obj = {};
var key = 'showItemA';
obj[key] = true;
var switchToggle = function (toggleTarget) {
obj[toggleTarget] = !obj[toggleTarget];
console.log(obj[toggleTarget]);
// false
};
switchToggle(key);
console.log(obj[key]);
// false
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.