在函数中为参数赋值时,我们可以使用括号而不是等号吗?
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
)
所以,我只是在看 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
)