JavaScriptのセッターとゲッターは、通常の時代にはあまりさらされていない方法です。それらは標準的な方法自体ではなく、非IEブラウザでのみサポートされています(IEカーネルで実行できる他の方法がありますか?当面は解決策を知りません)が、次のような多くのことを行うことができます。
1。データアクセスの制限:
A.Valueは、値変数へのゲッターメソッド呼び出しです。 Getterメソッドの実装で例外がスローされている場合、値変数へのアクセスをブロックできます。
2。DOM変数を聞く:
Window.Nameは、ドメイン全体で非常に便利なDOM属性です(詳細で知られています。詳細については、Baiduを参照してください)。 window.nameのセッターの実装をオーバーライドすると、ページ全体で非同期メモリ通信を実現できます。
3。あなたの想像力を使って、たくさんのことをすることができます
以下はすべて転送されます。
まず、ゲッターとセッターが何であるか、なぜそれらが役立つのかを簡単に見てみましょう。次に、どのプラットフォームがゲッテットとセッターをサポートしているかを見てみましょう。
ゲッターとセッター
ゲッターとセッターを使用すると、オブジェクトのデータをすばやく取得または設定できます。一般的に言えば、オブジェクトには2つの方法があり、次のような特定の値を取得および設定するために使用されます。
{getValue:function(){return this._value;}、setValue:function(val){this._value = val;}}この方法でJavaScriptを書くことの明らかな利点の1つは、それを使用して、外の世界から直接アクセスしたくない属性を隠すことができることです。最終コードは次のようになります(新しく作成されたファイルされたオブジェクトの値を閉鎖で保存します):
function field(val){var value = val; this.getValue = function(){return値;}; this.setValue = function {value = val;};};}だから私たちはこのようにそれを使用することができます:
var field = new field( "test"); field.value // => undefinedfield.setValue( "test2")field.getValue()// => "test2"
上記の例の「隠された値属性」をシミュレートしましょう。コードは次のようになります。
function field(val){var value = val; this .__ definegetter __( "value"、function(){return value;}); this .__ definesetter __( "value"、function(val){value = val;});}ただし、このように書くのは好きではなく、オブジェクトのプロトタイプでゲッターとセッターを定義する傾向があります(プライベート変数が書かれている場所は関係ありません)、別の構文を使用できます。
関数フィールド(val){this.value = val;} field.prototype = {get value(){return this._value;}、set value(val){this._value = val;}};この構文は信じられないほどに見えますが、しばらく使用した後、それを受け入れるのは簡単です。
次は別の例です。これにより、外の世界がユーザー名の配列を取得できますが、元の非表示のユーザーオブジェクトを取得できません。
function site(users){this .__ definegetter __( "users"、function(){// js 1.6 array map()return users.map(function(user){return user.name;});};};}次のポイントを覚えておいてください:
オブジェクト内では、各変数には1つのゲッターまたはセッターのみができます。 (したがって、価値はゲッターとセッターを持つことができますが、価値は2つのゲッターを持つことはありません)
ゲッターまたはセッターを削除する唯一の方法は次のとおりです。オブジェクト[名前]を削除します。削除は、いくつかの一般的なプロパティ、ゲッター、セッターを削除できます。
__definegetter__または__definesetter__を使用すると、以前に定義された同じ名前、またはプロパティ(プロパティ)のゲッターまたはセッターをオーバーライドします。
プラットフォーム
サポートされているブラウザは次のとおりです。
Firefox
Safari 3+
オペラ9.5
上記は、編集者が紹介したJavaScriptで紹介されたセッターとゲッターの方法の完全な説明です。それがあなたに役立つことを願っています。もっと知りたい場合は、wulin.comに注意してください。