次のような 2 つの変数があります。
var test = {"1":"test","2":"test2"};
var isdefined = "test.1"
isdefined 変数が「未定義」ではないことを確認するにはどうすればよいですか?
ありがとう!
1
に存在するかどうかをテストしようとしていますtest
か? その場合、あなたはすることができます
test.hasOwnProperty('1')
あなたの質問の答えは No と Yes です。
いいえ、オブジェクトプロパティが数字で始まるか、それが数字である場合、objectName.12 を使用してアクセスできないため、変更できないルールであり、あなたの場合は数字です
一方、はいです。オブジェクトが適切に定義されている場合は、それを行うことができます。以下のコード ブロックを確認してください。
var test = {"1":"test","_2":"test2"};
var isdefined = "test._2";
alert(eval(isdefined)); // will return test2
alert(eval("test.1")); // throws exception.
JavaScriptundefined
は に評価されるためfalse
、次のように簡単に実行できます。
if ( isdefined ) {
// do stuff
}