在console.log中运行一个直接的奇怪的行为错误

时间:2016-10-28 23:55:43

标签: javascript jquery function

我有代码:

function fn(ob)
{
console.log(ob.name)
}

fn({name:"myName"})


(function(text){

console.log(text)

})("Error")

但是当我运行这个时我得到TypeError:fn(...)不是一个函数 在控制台上[了解更多]。为什么呢?

1 个答案:

答案 0 :(得分:3)

您需要将对fn函数的调用与匿名函数的定义(和调用)分开。
您可以在调用;函数后使用fn字符执行此操作:

function fn(t) {
  console.log(t.name)
}
fn({name:"myName"});

(function(text){
  console.log(text)
})("Error")

否则您的代码实际上是:

fn({name:"myName"})(function(text){
    console.log(text)
})("Error")

这就是你得到的错误。