オブジェクトがありますc
。
機能がありますc.log(message)
それらを使用するためにいくつかの変数を追加することは可能c.log.debug = true
ですか?
オブジェクトがありますc
。
機能がありますc.log(message)
それらを使用するためにいくつかの変数を追加することは可能c.log.debug = true
ですか?
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();
少し変更すると、次のようになります。
var o = {f: function() { console.log('f', this.f.prop1) }};
o.f.prop1 = 2;
o.f(); // f 2
o.f.prop1; // 2
このようには機能しません。代わりに、「デバッグ」フラグをパラメーターとして関数に追加できます。
c.log = function(message, debug) {
if debug {
// do debug stuff
}
else {
// do other stuff
}
}