ホームページ  >  記事  >  ウェブフロントエンド  >  jsプライベートスコープ_javascriptスキルでの特権メソッド作成の詳細説明

jsプライベートスコープ_javascriptスキルでの特権メソッド作成の詳細説明

WBOY
WBOYオリジナル
2016-05-16 15:18:331380ブラウズ

この記事の例では、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());

ここでは、グローバル コンストラクター関数が実際にはプライベート スコープで定義されていることがわかります。メソッドの 1 つは、プライベート スコープでプライベート変数とプロパティを返すことです。次のように書くと、よりよく理解できます:

Obj = function(){};

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

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

var ins = new Obj();
ins.say();

以上がこの記事の全内容です。皆様の学習のお役に立てれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。