【发布时间】:2017-11-21 20:09:37
【问题描述】:
我需要典型案例的帮助,但我不知道如何在没有诸如 for .. in .. 或 forEach 之类的脏东西的情况下做到这一点。 所以,我有一个带有一些方法和 bool 字段的对象,它显示是否需要打印日志。类似的东西:
var sender = {
showLogs: true,
doSomething: function(){
"do something";
if (this.showLogs)
console.log("Sender do something")
}
}
显然,会有很多相同的代码,在每个方法上重复:
if(this.showLogs)
console.log("Sender do x");
最佳做法是将此代码移动到新方法中:
..
log: function(message){
if (this.showLogs)
console.log(message)
}
..
并调用此方法而不是重复 if... 段落:
..
doSomething: function(){
"do something";
this.log("Sender do something");
}
..
但是如果我需要在一个日志中记录未知数量的参数怎么办,例如:
this.log("Start at: ", start time,", Value send: ", data);
所以,问题是:如何在我的函数中使用相同的参数调用 console.log,无论发送了多少参数?
【问题讨论】:
标签: javascript scope arguments call bind