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

為了賬號安全,請及時綁定郵箱和手機立即綁定

set方法只能接受一個參數嗎?

傳多個怎么辦?

正在回答

2 回答

首先,set方法實在給屬性賦值的時候觸發的函數,他參數只能傳遞一個(好吧,我實現想不出怎么同時賦兩個值給一個屬性)。如果你嘗試傳遞多個,會報語法錯誤,如下:

var?Person?=?{
????name:"Jobs",
????age:99,
????//定義一個change方法,可以改變Person的name和age屬性,并且輸出改變后的屬性值
????set?change(name,age){
????????this.name?=?name;
????????this.age=age;
????????console.log("The?Person's?name:"+this.name+",and?age:"+this.age+".");
?????}
?};
?//好吧,我實現想不出怎么同時賦兩個值給一個屬性;
?Person.change?=?"xioming",88;
?//執行結果如下:
Uncaught?SyntaxError:?Setter?must?have?exactly?one?formal?parameter.(…)

ok。直接傳遞多個是不行的。那我們換個思路。把多個參數綁定到一個對象,然后把對象作為參數傳給set方法。具體如下:

var?Person?=?{
????name:"Jobs",
????age:99,
????//定義一個change方法,可以改變Person的name和age屬性,并且輸出改變后的屬性值
????set?change(o){
????????this.name?=?o.name;
????????this.age=o.age;
????????console.log("The?Person's?name:"+this.name+",and?age:"+this.age+".");
?????}
?};
?Person.change?=?{name:"xiaoming",age:88};
?//執行結果如下:
?The?Person's?name:xiaoming,and?age:88.

這樣就沒有問題了。根據這個,你甚至可以做到傳好幾個參數給set方法使用。

3 回復 有任何疑惑可以回復我~
#1

olaolaola 提問者

非常感謝!非常啊!
2016-03-19 回復 有任何疑惑可以回復我~

可以傳遞對象.

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

set方法只能接受一個參數嗎?

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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