とにかくストリクトモード'usestrict'が適用されているかどうかを確認する方法はありますか?ストリクトモード用に別のコードを実行し、非ストリクトモード用に他のコードを実行したいです。のような機能を探していますisStrictMode();//boolean
18322 次
7 に答える
115
グローバルコンテキストで呼び出された関数の内部がグローバルオブジェクトを指さないという事実はthis
、厳密モードを検出するために使用できます。
var isStrict = (function() { return !this; })();
デモ:
> echo '"use strict"; var isStrict = (function() { return !this; })(); console.log(isStrict);' | node
true
> echo 'var isStrict = (function() { return !this; })(); console.log(isStrict);' | node
false
于 2012-05-07T10:08:11.907 に答える
26
function isStrictMode() {
try{var o={p:1,p:2};}catch(E){return true;}
return false;
}
すでに回答を得ているようです。しかし、私はすでにいくつかのコードを書いています。だからここに
于 2012-05-07T10:36:33.710 に答える
12
はい、厳密モードの場合はグローバルメソッド内にありますthis
。'undefined'
function isStrictMode() {
return (typeof this == 'undefined');
}
于 2012-05-07T10:07:40.007 に答える