为了账号安全,请及时绑定邮箱和手机立即绑定

自定义变量传递到 JS 回调

自定义变量传递到 JS 回调

拉丁的传说 2022-08-18 16:05:54
我有两个变量要传递给JS回调函数,一个派生自main函数。另一个是随机内联给定的。检查下面的示例JS代码,function main(callback) { st = "mainString" console.log("Execution:1 # Main function, string: " + st) callback(this.st)}function myCallback(st1, st2) { console.log("Execution:2 # callback function, st1: " + st1 + " st2: " + st2)}main(myCallback.bind({"st1" : this.st, "st2" :" ad-hoc"}))预期输出将低于预期值,以便两个输入参数都得到很好的处理并按顺序打印。执行:1 # 主函数,字符串:主字符串执行:2 # 回调函数,st1: mainString st2: ad-hoc但我明白了,执行:1 # 主函数,字符串:主字符串执行:2 # 回调函数,st1: mainString st2: 未定义任何帮助来解决这个问题?!
查看完整描述

2 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

改变


console.log("Execution:2 # callback function, st1: " + st1 + " st2: " + st2)


console.log("Execution:2 # callback function, st1: " + st1 + " st2: " + this.st2)

示例代码段


function main(callback) {

 st = "mainString"

 console.log("Execution:1 # Main function, string: " + st)

 callback(this.st)

}


function myCallback(st1) {

 console.log("Execution:2 # callback function, st1: " + st1 + " st2: " + this.st2)

}


main(myCallback.bind({"st1" : this.st, "st2" :" ad-hoc"}))


查看完整回答
反对 回复 2022-08-18
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

将绑定对象文本作为参数时,应在函数上指定上下文。根据您的条件,您只需将此关键字添加到 myCallback 函数中的 st2 中,如下所示:

function myCallback(st1, st2) {
    console.log("Execution:2 # callback function, st1: " + st1 + " st2: " + this.st2)
}

希望它有帮助


查看完整回答
反对 回复 2022-08-18
  • 2 回答
  • 0 关注
  • 123 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号