我想將方法應用於涉及使用其私有變量的現有對象。目的是建立像這樣:將方法應用於javascript中的對象和私有變量
function a(given_id)
{
var id= given_id;
}
現在我想申請一些新的方法,它像這樣
my_obj = new a('some_id');
my_obj.myMethod = function(){
alert(id);
}
,如果我現在去my_obj.myMethod()我得到一個錯誤說的ID是未定義。 如果我將id從private改爲public,這個代碼就可以工作。
我不明白爲什麼會發生這種情況,因爲如果myMethod最初是作爲特權方法定義的,那麼它將起作用。我能想到的唯一的事情就是myMethod被添加爲公共方法,而不是特權方法。
任何有關這方面的信息將不勝感激。
是的我知道會解決它(如上所述),但我想保持ID變量私人。 var id應該可以從特權方法訪問,任何想法如何將它聲明爲特權,同時仍然將其應用於對象? – Ori 2009-07-12 06:31:42
請參閱內聯編輯答案。 – 2009-07-12 07:03:09