gpt4 book ai didi

javascript - 从模块外部调用函数 - 参数未正确传递

转载 作者:行者123 更新时间:2023-11-28 01:33:24 25 4
gpt4 key购买 nike

因此,当尝试记录一组对象或数组而不仅仅是说“对象[对象]”时,我试图使控制台日志更好,但我在通过某些参数从模块调用函数时遇到问题。由于某种原因,两者之间存在差异。

console.log(createMessage("Message: {0}", "hello")); //logs Message: hello
// (what I actually want)

specialConsole.writeLine("Message: {0}", "hello"); //logs ["Message: {0}", "hello"]

第一个日志是从模块调用的,第二个日志是从外部调用的。这是specialConsole.writeLine 返回的内容:

writeLine: function () {
console.log(createMessage(arguments));
}

所以我只是想调用第一个日志,但使用specialConsole.writeLine。抱歉,如果我的问题太愚蠢了,但我还是一个初学者。 Here is my full code in jsfiddle

最佳答案

当您将两个参数传递给 writeLine 时,arguments 特殊变量将在类似对象的数组中保存这两个值,并且您将其按原样传递给 createMessage 假设您实际上传递的是一个数组并按原样打印数据。

要解决此问题,

writeLine: function () {
console.log(createMessage.apply(null, arguments));
}

Function.prototype.apply函数将类似对象的数组中的所有元素作为单独的参数传递。

关于javascript - 从模块外部调用函数 - 参数未正确传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21812878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com