我有以下幾點:立即調用的函數是 '未定義'
var catCreyz = function() { console.log('maaaow'); }.call()
,當我測試它的類型:
typeof catCreyz
返回的結果是:
不確定
爲什麼?
我有以下幾點:立即調用的函數是 '未定義'
var catCreyz = function() { console.log('maaaow'); }.call()
,當我測試它的類型:
typeof catCreyz
返回的結果是:
不確定
爲什麼?
Function.prototype.call返回被調用函數的返回值。你的函數沒有返回
var catCreyz = function() { console.log('maaaow'); }.call()
//logs undefined
console.log(catCreyz);
var result = function() { return "foo"; }.call()
//logs foo
console.log(result);
var myFunc = function() { console.log('maaaow'); }
//logs the function
console.log(myFunc);
我想他想'catCreyz'來存儲被調用的函數 –
調用執行功能,你錯過了你的函數返回語句,JavaScript不返回最後一個表達式像其他語言。你必須明確地返回一個值,否則你會得到未定義的值。
如果您想要一個catCreyz的實例,請將call()從表達式中取出。
這是因爲.call()位執行函數並返回結果,在這種情況下未定義結果。 – furydevoid
你爲什麼認爲這會是'功能'? –
因爲'call'沒有結果? –