" TypeError的含义:string不是函数"

时间:2015-08-06 18:49:52

标签: javascript node.js

错误" TypeError:string不是函数"是什么意思? 哪种情况会触发错误?

显示错误出现位置的小上下文。

以下计划

"use strict;"
((console["log"])(42));

给出错误

/private/var/folders/k6/grq8nv093hj78x5m172d725m0000gn/T/tmp14388866091438886609658.js:2
((console["log"])(42));
^
TypeError: string is not a function
    at Object.<anonymous> (/private/var/folders/k6/grq8nv093hj78x5m172d725m0000gn/T/tmp14388866091438886609658.js:2:1)

    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3
Node中的

。但是console["log"]又名console.log应该是一种功能。

然而这个程序

"use strict;"
function displayln(v){return ((console["log"])(v));};
(displayln(42));

运行没有任何错误。

1 个答案:

答案 0 :(得分:3)

我认为它认为您正在尝试执行"use strict;"作为一项功能。尝试添加一个半冒号

"use strict";
((console["log"])(42));