詳解js私有作用域中創(chuàng)建特權(quán)方法
本文實(shí)例分享了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)格模式下會(huì)報(bào)錯(cuò) MyObject.prototype.publicMethod = function(){ privateValue ++; return privateFunction(); }; })(); var instance = new MyObject(); console.log(instance.publicMethod());
這里就可以看出實(shí)際上就是在私有作用域中定義了一個(gè)全局的構(gòu)建函數(shù);其中的一個(gè)方法就是返回私有作用域中的一個(gè)私有變量和屬性。寫成下面這樣就可以更好地了解:
Obj = function(){}; (function(){ var x = 10; function y(){ return x + 10; } Obj.prototype.say = function(){ console.log(y()); }; })() var ins = new Obj(); ins.say();
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
相關(guān)文章
如何實(shí)現(xiàn)小程序與小程序之間的跳轉(zhuǎn)
這篇文章主要給大家介紹了關(guān)于如何實(shí)現(xiàn)小程序與小程序之間的跳轉(zhuǎn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11基于JavaScript實(shí)現(xiàn)div層跟隨滾動(dòng)條滑動(dòng)
項(xiàng)目需求是這樣的:在一個(gè)頁面放2個(gè)懸浮框,懸浮框隨頁面的上下滾動(dòng)有上下波動(dòng)的效果,最終固定在同一位置,下面通過本文給大家分享基于JavaScript實(shí)現(xiàn)div層跟隨滾動(dòng)條滑動(dòng)的相關(guān)資料,對(duì)js div跟隨滾動(dòng)條滑動(dòng)相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2016-01-01javascript實(shí)現(xiàn)的基于金山詞霸網(wǎng)絡(luò)翻譯的代碼
下面的這段代碼是基于金山詞霸網(wǎng)絡(luò)翻譯提供的接口,遠(yuǎn)程調(diào)用文件,可以作為一個(gè)自定義的在線查詢工具。2010-01-01分享javascript計(jì)算時(shí)間差的示例代碼
這篇文章主要為大家介紹了javascript計(jì)算時(shí)間差的示例代碼,,一般來說都是計(jì)算當(dāng)前時(shí)間和一個(gè)指定時(shí)間點(diǎn)之間的差距,感興趣的小伙伴們可以參考一下2016-01-01詳解ES6之用let聲明變量以及l(fā)et loop機(jī)制
本篇文章主要介紹了詳解ES6之用let聲明變量以及l(fā)et loop機(jī)制,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07