私有變量作用為了在對象創建過程中變量不會被外部訪問,如果要訪問只能通過屬性或定義方法方式來實現。
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 的值。
即使有其他代碼會給這個對象添加方法或數據成員,也不可能有別的辦法訪問傳入到構造函數中的原始數據。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/274424.html
微信掃一掃
支付寶掃一掃