2017-09-07 5 views
0


JavaScriptでセッターを使用する際に問題があります。
プロパティの値をlastNameまたはfirstNameに設定したい場合、setメソッドの問題が発生しません。
私はそれをどのように解決することができるか、私に助言を与えるために親切ですか?
は、あなたが実際にあなたのsetメソッドには何も設定していない
setter Javascriptを使用してオブジェクトに値を設定する方法は?

function User(fullName) { 
    this.fullName = fullName; 

    Object.defineProperties(this, { 
     'firstName': { 
      get: function(){ 
       var _that = this; 
       var str = _that.fullName.split(' '); 
       return str[0]; 
      }, 
      set: function(name){ 
       var split = this.fullName.split(' '); 
       name = split[0]; 
      } 
     }, 
     'lastName': { 
      get: function(){ 
       var _that = this; 
       var str = _that.fullName.split(' '); 
       return str[1]; 
      }, 
      set: function(name){ 
       var split = this.fullName.split(' '); 
       name = split[1]; 
      } 
     } 
    }) 
}; 
var fred = new User("Freedy House"); 
console.log(fred.fullName); //Freedy House 
fred.firstName = 'Nossssssu' 
console.log(fred.firstName); //It stil the old value 
+0

'name = split [0];'はオブジェクトプロパティを設定しません。 – Teemu

答えて

0

事前にありがとうございます。これを試してみてください:

この全体的なことはまったく意味がありませんが、名前と姓は別々のフィールドとして保存できます。

関連する問題