[英]Making objects nonGlobal in javascript
我有一個JavaScript函數,看起來像這樣:
foo=function(listenerObject)
{
a={count:0};
foo2=function(){
//does stuff with a
}
//register listenerObject to callback the function foo2
}
問題是我最終使用此功能注冊了多個偵聽器,但是它們最終都共享相同的“ a”對象。 有沒有一種方法可以防止函數內部的對象聲明爬入全局范圍。 換句話說,我想阻止能夠做這樣的事情
fun=function(){o={count:0}}
o.count++//o is now in the global scope
使用var
。 確實,您應該使用var
聲明所有變量,否則,您會發現,一堆全局變量互相作用。
例:
var foo = function(listenerObject) {
var a = { count: 0 };
...
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.