詳解js私有作用域中創(chuàng)建特權(quán)方法
本文實例分享了js私有作用域中創(chuàng)建特權(quán)方法,供大家參考,具體內(nèi)容如下
特權(quán)方法就是有權(quán)訪問私有變量和私有函數(shù)的公有方法:
function MyObject(){
var privateVariable = 10;
function privateFunction(){
return false;
}
this.publicMethod = function(){
privateVariable ++;
return privateFunction();
};
}
var x = new MyObject();
console.log(x.publicMethod()) ;//false
私有作用域中定義私有變量和函數(shù),同樣也可以創(chuàng)建特權(quán)方法,如:
(function(){
var privateValue = 10;
function privateFunction(){
return false;
}
MyObject = function(){}; //沒有var 屬于全局變量,嚴(yán)格模式下會報錯
MyObject.prototype.publicMethod = function(){
privateValue ++;
return privateFunction();
};
})();
var instance = new MyObject();
console.log(instance.publicMethod());
這里就可以看出實際上就是在私有作用域中定義了一個全局的構(gòu)建函數(shù);其中的一個方法就是返回私有作用域中的一個私有變量和屬性。寫成下面這樣就可以更好地了解:
Obj = function(){};
(function(){
var x = 10;
function y(){
return x + 10;
}
Obj.prototype.say = function(){
console.log(y());
};
})()
var ins = new Obj();
ins.say();
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。
相關(guān)文章
基于JavaScript實現(xiàn)div層跟隨滾動條滑動
項目需求是這樣的:在一個頁面放2個懸浮框,懸浮框隨頁面的上下滾動有上下波動的效果,最終固定在同一位置,下面通過本文給大家分享基于JavaScript實現(xiàn)div層跟隨滾動條滑動的相關(guān)資料,對js div跟隨滾動條滑動相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧2016-01-01
javascript實現(xiàn)的基于金山詞霸網(wǎng)絡(luò)翻譯的代碼
下面的這段代碼是基于金山詞霸網(wǎng)絡(luò)翻譯提供的接口,遠(yuǎn)程調(diào)用文件,可以作為一個自定義的在線查詢工具。2010-01-01
詳解ES6之用let聲明變量以及l(fā)et loop機制
本篇文章主要介紹了詳解ES6之用let聲明變量以及l(fā)et loop機制,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07

