javascriptを使用してparamettersで特定の関数呼び出しを聞くにはどうすればよいですか?
例:showname(2)が呼び出されると、別の関数を呼び出すようなこともできます。showage(2)
javascriptを使用してparamettersで特定の関数呼び出しを聞くにはどうすればよいですか?
例:showname(2)が呼び出されると、別の関数を呼び出すようなこともできます。showage(2)
あなたはそれを包むことができます:
var native = window.alert;
window.alert = function(){
console.log('alerting...');
native.apply(window, arguments);
console.log('alerted!');
};
alert('test');
ゲッターやセッターを使用して、プロパティで同様のことを行うことができます。
var foo = {
bar = 'baz'
};
の中へ
var foo = {
_bar: 'baz',
get bar(){
console.log('someone is taking my bar!');
return this._bar;
},
set bar(val){
console.log('someone pretends to set my bar to "' + val + '"!');
this._bar = val;
}
};
alert(foo.bar);
foo.bar = 'taz';
カプセル化(プライベート_bar
):
var foo = function(){
var _bar = 'baz';
return {
get bar(){
console.log('someone is taking my bar!');
return _bar;
},
set bar(val){
console.log('someone pretends to set my bar to "' + val + '"!');
_bar = val;
}
};
}();
いいえ、任意の関数呼び出しに「フック」することはできません。
これを行う1つの方法は、関数にコールバックを追加することです。たとえば、次のように定義します。
function showname(firstname, lastname, callback){
alert(firstname + lastname);
if(callback) callback();
}
function showage(){
alert("who's age?");
}
そして、電話してください:
showname("John", "Doe", showage);