亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在原型鏈和class中定義getter&setter有什么不同?

在原型鏈和class中定義getter&setter有什么不同?

呼啦一陣風 2018-08-30 10:05:33
有這樣一小段程序,描述了兩個類,每個類都有一對 getter&setter 屬性:Test1 是在 原型鏈 上定義的;Test2 是用 ES6 中定義的;// Test1function Test1(val) {   alert("1");  this.value = val; } Test1.prototype = {   get value() {     alert("2");    return this._value;   },   set value(val) {     alert("3");    this._value = val;   } };var f1=new Test1("zj"); f1.value="sdf";console.log(f1);運行結果是:彈出: 1 3 3 2;輸出:[object Object] {  _value: "sdf",  value: "sdf"}// Test2class Test2{  constructor(val){     alert("1");    this.value = val;   }   get value(){     alert("2");    return this._value;   }   set value(v){     alert("3");    this._value=v;   } }var f2=new Test2("zj"); f2.value="sdf";console.log(f2);運行結果是:彈出: 1 3 3;輸出:[object Object] {  _value: "sdf"}可以看到這兩種方式定義的getter&setter結果是不一樣的,請問是為什么呢?
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 653 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號