2014-02-25 70 views
1

這裏是我的功能:爲什麼當我不使用中間變量這個功能不起作用?

function Ship(shipType) { 

    this.name = shipType; 
    this.detailedName = function() { 
     var c= 
      this.name.charAt(0).toUpperCase() + 
      this.name.slice(1); 
     return c; 
    }; 
} 

現在,如果我嘗試優化=無中間變量,這是行不通的。 爲什麼?

function Ship(shipType) { 

    this.name = shipType; 
    this.detailedName = function() { 
     return 
      this.name.charAt(0).toUpperCase() + 
      this.name.slice(1); 
    }; 
} 

下面是顯示問題的小提琴:http://jsfiddle.net/VW5w3/

+0

您正在從您的函數提前返回。查找「分號插入」並準備冷卻骨骼。 –

回答

1

我相信這是因爲;不在JS中是強制性的,所以return返回undefined。 改爲在一行中寫returnreturn this.name.charAt(0).toUpperCase() + this.name.slice(1);

相關問題