変数foo
が未定義の場合、通常は次のようなことができます。
!foo;
foo === undefined;
foo !== 'some value';
しかし、私が現在取り組んでいるコードベースには、これ以外の未定義の変数に対する操作に対して例外をスローするようにブラウザーのインタープリターに指示しているように見えるものが含まれています。
typeof foo !="undefined";
私は通常使用しているのと同じブラウザ(ChromeとFirefox)で作業しています。でも今回はゼロから始めるのではなく、途中でこのプロジェクトに取り掛かっています。これは、Backbone.js、アンダースコア、ハンドルバー、jQuery、yepnopeを使用したdJangoプロジェクトです。
この動作"use strict"
は、グローバル名前空間のどこかに表示される命令が原因である可能性がありますか?プロジェクトで「usestrict」というテキスト文字列を検索したところ、Twitterからのものと思われるコードで見つかりました。
ファイル:bootstrap.js script.js 差出人:http://twitter.github.com/bootstrap/javascript.html#transitions
json2ファイルにもあります。ただし、前回このファイルを使用したときに、このファイルが問題を引き起こさなかったと確信しています。
ファイル:json2.js 差出人:http://www.JSON.org/json2.js
私が知っている限りでは、これはどこかに「厳密に使用」が含まれていることが原因ではありません...
何か案は?
本当にありがとう!