簡體   English   中英

在javascript中使對象變為非全局對象

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM