私は、変数が未定義であるかどうかをチェックし、再利用可能な関数を作成しようとしています。奇妙なことは、関数に変数を渡してコードを実行すると機能しないことですが、関数の外部で同じロジックを使用すると機能します。この機能を有効にする方法はありますか?未定義の変数を関数に渡すとエラーが発生しますか?
//THIS WORKS AND RETURN FALSE
alert(typeof sdfsdfsdfsdf !== 'undefined');
//THIS GIVES AN ERROR, WHY?
//Uncaught ReferenceError: sdfsd is not defined
function isDefined(value) {
alert(typeof value !== 'undefined' && value !== null)
}
isDefined(sdfsd);
ライブたとえば、ここで(エラーのコンソールを確認してください):http://jsfiddle.net/JzJHc/
あなたはこれを行うことはできません。それが存在しなければ、それをテストするためにどのように関数に取り込むことができますか?また、これは: 'typeof value!== 'undefined' && value!== null'はひどく必要ありません。 'null'または' undefined'テストをしたいのであれば、 'value == null'を実行してください。それは同じことを成し遂げます。 –