在函数中为参数赋值时,我们可以使用括号而不是等号吗?

Can we use parentheses instead of equal sign while assigning a value to paramethers in function?

所以,我只是在看 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'

但是,当我这样做时,它不起作用。我现在真的感觉超级糟糕,因为这看起来很琐碎,我找不到任何关于它的信息。如果有人能给我解释一下,我将不胜感激。

没有。语法具有完全不同的含义。


这为 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