所以,我只是在看一个来自 WebDevSimplified 的教程,下面是困扰我的那段代码。
const failure1 = false;
const failure2 = false;
function callbackFunction(callback, errorCallback) {
if (failure1) {
errorCallback({
name: 'Negative event1 occurred',
message: ':('
})
} else if (failure2) {
errorCallback({
name: 'Negative event2 occurred',
message: ':/'
})
} else {
callback('Mission complete!')
}
}
callbackFunction((message) => {
console.log('Success: ' + message)
}, (error) => {
console.log(error.name + ' ' + error.message)
})
那么,为什么要像这样为函数参数分配一个值:
callback('Mission complete!')
因为根据我在互联网上找到的所有信息,我会这样做:
callback = 'Mission complete'
然而,当我这样做时,它不起作用。我现在真的感觉超级糟糕,因为这看起来很琐碎,我找不到任何相关信息。如果有人向我解释,我将不胜感激。
答案 0 :(得分:1)
没有。语法有完全不同的含义。
这会为 callback
赋值:
callback = 'Mission complete'
这会调用函数 callback
并传递一个参数给它:
callback('Mission complete!')
该值将分配给函数定义的第一个参数中指定的变量:
function callback(this_is_the_variable) {
if (this_is_the_variable === 'Mission complete!') {
// something
}
}
(在您的示例中,this_is_the_variable
名为 message
)