2016-04-13 15 views
0

javascriptを初めて使用しています。いくつかの理由から、console.log関数によってwindows.alert関数をオーバーライドする必要があります。そのために、私は以下のコードを書いています。javascriptのconsole.log関数で警告を上書きする際のエラー

window.alert  = console.log; 
alert('abc'); // gives TypeError : Illegal invocation. 

私はここで何をしているのか分かりません。私の知る限り、別の関数オブジェクトでjavascript関数のリファレンスを変更することは可能です。

編集

多くは、私の質問をd​​ownvoted、同様の質問に対する私の参照を指定しているが、 私の問題は異なっています。私はjQueryでデータテーブルグリッドライブラリの警告を抑制したい。だから、私はconsole.logやその他の関数でalertを置き換えたいのです。

答えて

1

これは動作するはずです希望...

alert("msg"); 

function alert(msg){ 
    console.log(msg); 
} 
1

これは

var alert = (...params) => console.log(...params); 
+0

を行う必要がありますが、私は上記の空想のコードを理解することはできますか?または私にそれについての言及を教えてもらえますか? –

+0

それはES6です。アラート関数は、デフォルトのアラート関数を置き換え、... paramsは、ログメソッドが取ることができる引数があれば、それをアラート関数で変更します。私は、ログメソッドが引数よりも多くを取ることができることを知っているので、宣言された警告関数として知っているはずです。 –

関連する問題