我有以下内容:
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);
Call 执行函数,并且您的函数中缺少 return 语句,Javascript 不会像其他语言一样返回最后一个表达式。你必须显式地返回一个值,否则你会得到未定义的。
如果你想要一个 catCreyz 的实例,那么从表达式中去掉 call() 。