JavaScript の特権メソッドはどのような用途に使用されますか?

青灯夜游
リリース: 2023-01-05 16:11:00
オリジナル
2136 人が閲覧しました

JavaScript では、特権メソッドとは、ユーザーがプライベート変数を表示および処理するときにパブリック メソッドとしてアクセスできるメソッドを指します。機能: コンストラクター外部のパブリック アクセス (インスタンス化されたオブジェクトに限定)、およびプライベート メンバーおよびメソッドへのアクセスも可能; パブリック メソッドによるプライベート プロパティまたはメソッドへのアクセスは、特権メソッドを通じて制御できます。

JavaScript の特権メソッドはどのような用途に使用されますか?

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

#特権メソッド:

は、ユーザーがプライベート変数を表示および処理するときにパブリック メソッドとしてアクセスできるメソッドを指します。

ポイント:

1. 特権メソッドはメソッドです。

2. 特権メソッドはプライベート変数にアクセスできます

特権メソッドを定義します

コンストラクター内の this キーワードを通じて定義されたメソッドは、インスタンス化されたオブジェクトの継承によって呼び出すことができます。

var Student = function(name) { var _name = name; //私有属性 //特权方法 this.getName = function() { return _name; }; this.setName = function(name) { _name = name; }; }; var s1 = new Student('zhangsan'); s1.getName(); //zhangsan
ログイン後にコピー

特権メソッドの役割

特権メソッドは、コンストラクターの外部 (インスタンス化されたオブジェクトに限定) でパブリックにアクセスでき、プライベート メンバーやメソッドにもアクセスできます。 , オブジェクトまたはコンストラクターとして使用されるインターフェイスが最適であり、特権メソッドを通じて、パブリック メソッドからプライベート プロパティまたはメソッドへのアクセスを制御できます。 JS フレームワークの拡張には多くのアプリケーションがあります。

特権メソッドとパブリック メソッドの違い

同じ点:

1. どちらもコンストラクターの外部でパブリックにアクセスできます。

2. パブリック プロパティにアクセスできる

違い: 2 点あります

1. 各インスタンスには特権メソッドのコピーが必要です (シングルトンを除く)外部で使用される場合はメモリを考慮する必要があります)、パブリック メソッドはすべてのインスタンスで共有されます

//创建Student对象实例 var s1 = new Student('zhangsan'); var s2 = new Student('lisi'); //两实例的特权方法的引用不相同, 说明在对象实例化的时特权方法被重新创建 console.log(s1.getName === s2.getName); //false
ログイン後にコピー

2。特権メソッドはプライベート プロパティおよびメソッドにアクセスできますが、パブリック メソッドはアクセスできません。

//为Student创建公有方法 //公有方法不能访问私有属性 Student.prototype.myMethod = function() { console.log(_name); //ReferenceError: _name is not defined }; s1.myMethod();
ログイン後にコピー

[推奨学習:

JavaScript 上級チュートリアル]

以上がJavaScript の特権メソッドはどのような用途に使用されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!