2014-05-21 59 views
0

Bar.prototype望着foo功能:功能的`return`

Bar.prototype.foo = function() { 
    return console.log("Foo"); 
    }; 

什麼

​​

Bar= function(name) { 
     ... 
     return this.foo(); // note the 'return' 
     }; 
+1

在這種情況下什麼也沒有,因爲'console.log'返回'undefined',這與根本沒有'return'語句相同。 –

+0

如果函數返回'Unit/void'即返回'this.foo()',即什麼都沒有。 –

+0

好點,@RocketHazmat - http://jsfiddle.net/9GLGz/。謝謝 –

回答

3

第一Bar函數返回undefined,之間的區別,其是j中函數的默認返回值avascript。

第二個Bar函數返回this.foo函數的結果,該函數返回console.log的結果,該結果又是undefined

所以他們都返回undefined,但他們採取不同的路徑來獲得undefined值。