gpt4 book ai didi

javascript - 通过代理函数将参数作为一流参数传递给 console.log

转载 作者:IT王子 更新时间:2023-10-29 02:57:16 25 4
gpt4 key购买 nike

console.log 采用未指定数量的参数并将其内容转储到一行中。

有没有一种方法可以编写一个函数,将传递给它的参数直接传递给 console.log 以保持该行为?例如:

function log(){
if(console){
/* code here */
}
}

这与以下内容不同:

function log(){
if(console){
console.log(arguments);
}
}

由于 arguments 是一个数组,console.log 将转储该数组的内容。它也不会与以下内容相同:

function log(){
if(console){
for(i=0;i<arguments.length;console.log(arguments[i]),i++);
}
}

因为这将在不同的行中打印所有内容。重点是维护 console.log 的行为,但通过代理函数 log

+---

我一直在寻找一种可以在未来应用于所有函数的解决方案(为函数创建一个代理来保持参数处理的完整性)。但是,如果无法做到这一点,我将接受一个 console.log 特定的答案。

最佳答案

这应该可以做到..

function log() {
if(typeof(console) !== 'undefined') {
console.log.apply(console, arguments);
}
}

只需添加另一个选项(使用 spread 运算符和 rest 参数 - 虽然 arguments 可以直接与传播一起使用)

function log(...args) {
if(typeof(console) !== 'undefined') {
console.log(...args);
}
}

关于javascript - 通过代理函数将参数作为一流参数传递给 console.log,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7942323/

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