3 回答

TA貢獻40條經(jīng)驗 獲得超30個贊
調(diào)用makePerson函數(shù),返回的是一個對象,就是
s =?
?{
??? ? ? first: first,
? ? ? ? last: last, // 第一個first 代表屬性,第二個first 代表傳進來的參數(shù),動態(tài)添加屬性值。
? ? ? ? fullName: function() {
? ? ? ? ? ? return this.first + ' ' + this.last;
? ? ? ? },
? ? ? ? fullNameReversed: function() {
? ? ? ? ? ? return this.last + ', ' + this.first;
? ? ? ? }
? ? }}
這么看,s 就相當于,我們平時聲明的對象字面量,first ?和 last 就相當于增加的屬性,只不過這里的屬性值是通過參數(shù)傳進來的。 效果就是下面這樣。
var s = {
????first: "Simon",
????last :"Willison"
}

TA貢獻178條經(jīng)驗 獲得超70個贊
函數(shù)里面的變量也是需要用var來聲明的。但是你這個函數(shù)里面的first和last這兩個不是變量,是對象的屬性,對象屬性不需要聲明。var一個變量的時候就是表示在內(nèi)存里開辟一個固定大小的空間來存儲變量。參數(shù)是按照名稱對應(yīng)的,函數(shù)內(nèi)部的first就是參數(shù)的first,last就是參數(shù)的last。
添加回答
舉報