たとえば、関数にコードを追加せずに、関数が呼び出されたときにコードを起動する方法があるかどうか疑問に思っています。
function doSomething(){
//Do something
}
//Code to call when doSomething is called
たとえば、関数にコードを追加せずに、関数が呼び出されたときにコードを起動する方法があるかどうか疑問に思っています。
function doSomething(){
//Do something
}
//Code to call when doSomething is called
次のようなものはどうですか:
function doSomething(){
doSomething.called = true;
}
//call?
doSomething();
if(doSomething.called) {
//Code to call when doSomething is called
}
元の関数を変更したくないとおっしゃいましたが、コールバックを追加することを検討してください。次に、関数内のさまざまな結果 (onSucess や onError など) に基づいてコードを実行できます。
function doSomething(onSuccess, onError){
try {
throw "this is an error";
if(onSuccess) {
onSuccess();
}
} catch(err) {
if(onError) {
onError(err);
}
}
}
次に、 を呼び出すときにdoSomething
、インライン関数で実行したいことを指定できます。
doSomething(function() {
console.log("doSomething() success");
}, function(err) {
console.log("doSomething() error: " + err);
});