私有變量作用為了在對象創建過程中變量不會被外部訪問,如果要訪問只能通過屬性或定義方法方式來實現。
javascript
在c#和Java中定義私有屬性通過private關鍵詞即可,那么在javascript中如何定義私有變量呢?下面就說一種比較另類的方法。
為什么這里說另類呢,有兩點不同:
1、新創建對象的實例方法不引用 this
2、不使用 new 操作符調用構造函數。
下面直接上代碼:
function Person(name, age, job){ //創建要返回的對象 var o = new Object(); //可以在這里定義私有變量和函數 //添加方法 o.sayName = function(){ alert(name); }; //返回對象 return o; } var friend = Person("我是程序員", 29, "軟件工程師"); friend.sayName(); //"我是程序員"
除了使用 sayName() 方法之外,沒有其他辦法訪問 name 的值。
即使有其他代碼會給這個對象添加方法或數據成員,也不可能有別的辦法訪問傳入到構造函數中的原始數據。
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。
發表評論
請登錄后評論...
登錄后才能評論