有一个对象c
它有一个函数c.log(message)
是否可以添加一些变量来使用它们,如c.log.debug = true
?
答案 0 :(得分:4)
Javascript是一种完整的面向对象语言。这意味着几乎 所有都是一个对象 - 甚至是函数:
var f = function(){};
alert(f instanceof Function);
// but this statement is also true
alert(f instanceof Object);
// so you could add/remove propreties on a function as on any other object :
f.foo = 'bar';
// and you still can call f, because f is still a function
f();
答案 1 :(得分:2)
稍作修改就可以这样:
var o = {f: function() { console.log('f', this.f.prop1) }};
o.f.prop1 = 2;
o.f(); // f 2
o.f.prop1; // 2
答案 2 :(得分:0)
它不会像这样工作。您可以将'debug'标志作为参数添加到您的函数中,例如
c.log = function(message, debug) {
if debug {
// do debug stuff
}
else {
// do other stuff
}
}