首頁 > web前端 > js教程 > 主體

詳解js私有作用域中建立特權方法_javascript技巧

WBOY
發布: 2016-05-16 15:18:33
原創
1369 人瀏覽過

本文實例分享了js私有作用域中創建特權方法,供大家參考,具體內容如下

特權方法就是有權存取私有變數和私有函數的公有方法:

function MyObject(){
  var privateVariable = 10;
  function privateFunction(){
    return false;
  }
  this.publicMethod = function(){
    privateVariable ++;
    return privateFunction();
  };
}  
var x = new MyObject();
console.log(x.publicMethod()) ;//false
登入後複製

私有作用域定義私有變數和函數,同樣也可以建立特權方法,如:

(function(){
  var privateValue = 10;
  function privateFunction(){
    return false;
  }
  
  MyObject = function(){}; //没有var 属于全局变量,严格模式下会报错
  
  MyObject.prototype.publicMethod = function(){
    privateValue ++;
    return privateFunction();
  };
})();

var instance = new MyObject();
console.log(instance.publicMethod());

登入後複製

這裡就可以看出實際上就是在私有作用域中定義了一個全域的建構函數;其中的一個方法就是傳回私有作用域中的一個私有變數和屬性。寫成下面這樣就可以更了解:

Obj = function(){};

(function(){
  var x = 10;
  function y(){
    return x + 10;
  }

  Obj.prototype.say = function(){
    console.log(y());
  };
})()

var ins = new Obj();
ins.say();
登入後複製

以上就是本文的全部內容,希望對大家的學習有所幫助。

相關標籤:
js
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板