JavaScriptのは、getおよびsetメソッド内のオブジェクト

1:機能にバインドされたオブジェクト属性の構文は時にクエリープロパティと呼ばれます取得します。

2:セットプロパティを設定しようとすると、コールへの関数にバインドオブジェクトのプロパティに構文を設定します。

 3:;:、外部JSは年齢ゴーゲッター機能を取得したときに、とき外部JS年齢割り当てテイク時間setter関数に名前のデータ属性の例取得した後老化特性、セットには、アクセス属性、アクセス属性でありますセッターとゲッターの機能が隠されている、私たちは、年齢に書き込み機能を取り戻すだろう。

A)エラー例、再帰的なエラーハッサン

 

        各人= {
            名前: "zhangsan"、
            年齢:18、
            {年齢を取得します()
                this.ageを返します。
            }、
        }。
        console.log(person.age); //エラーt.html:23キャッチされない例外RangeError:最大コールスタックサイズを超え、「コールスタックが最大サイズを超えて」
エラー

t.html:23キャッチされない例外RangeError:超え最大コール・スタック・サイズ
:[年齢など] Object.getの年齢で(23 t.html)
:[年齢など] Object.getの年齢で(24 t.html)
Object.get年齢で【年齢など](t.html:24)
[年齢など] Object.get年齢(t.html:24)での
[年齢など] Object.get年齢(t.html:24)で
Object.getの年齢で[として:年齢(24 t.html)
年齢などObject.getの年齢で[](24 t.html)
年齢などObject.getの年齢で[](24 t.html)
[]年齢などObject.getの年齢で(t.html:24)
Object.getの年齢で[年齢など](t.html:24)

原因:このエラーは、最も一般的な原因である発生します。コード内のどこかで、あなたが順番にコールスタックの上限まで、その上の別の関数を呼び出し、関数を呼び出しています。それはほとんど常に、再帰関数を持っているため、満たされていないの基本的な状況

B):実施例正しいです

   
        各人= {
            _name: "zhangsan"、
            _age:18、
            {年齢を取得します()
                this._ageを返します。
            }、
            セット年齢(値){
                console.log( 'セット')
                IF(値> 100){
                    console.log(入力 `$ {値}は100よりも大きい年齢、誤っ「)
                } そうしないと {
                    this._age値を=。
                }
            }
        }。
        person.age = 111。
        console.log(person.age)//セット、古い入力111は、それが正しくない、100より大きく、18
        person.age = 10。
        console.log(person.age)//セット。10
//////////////////////////////
        各人= {
            名前: "zhangsan"、
            {年齢を取得します()
                復帰18
            }、
            セット年齢(値){
                console.log( 'セット')
                IF(値> 100){
                    console.log(入力 `$ {値}は100よりも大きい年齢、誤っ「)
                } そうしないと {
                    this.age値を=。
                }
            }
        }。
        console.log(person.age)// 18

 

おすすめ

転載: www.cnblogs.com/yt0817/p/12449116.html