function cbTest(name,function(){
console.log("Hello ",name);
})
cbTest("john");
我收到以下错误。
(function (exports, require, module, __filename, __dirname) { function cbTest(name,function(){ ^^^^^^^^
SyntaxError:意外的令牌
function
在exports.runInThisContext(vm.js:53:16)
在Module._compile(module.js:413:25)
at Object.Module._extensions..js(module.js:452:10)
在Module.load(module.js:355:32)
在Function.Module._load(module.js:310:12)
在Function.Module.runMain(module.js:475:10)
在启动时(node.js:117:18)
在node.js:951:3
这段代码出了什么问题?
更新: 我试图让匿名函数作为参数工作,但无论如何,下面应该是这样的。
function getName(name){
return name;
}
function cbTest(name,cb){
console.log("hello ",cb(name));
}
cbTest("John",getName);
答案 0 :(得分:4)
当您声明一个函数时,参数列表只能包含参数的名称(以及ES2015中的扩展运算符...
)。你试图在参数列表中声明一个带有实例化函数的函数,这是没有意义的。
当您调用该函数时,匿名函数在参数列表中有意义,但在声明时则不行。
答案 1 :(得分:0)
这段代码没有任何意义
可以是:
function cbTest(name) {
console.log("Hello ",name);
}
cbTest("john");
或
function cbTest(name, func) {
func(name);
}
cbTest("john", function(name){
console.log("Hello ",name);
});
您无法在函数声明中传递任何内容