1

次のような 2 つの変数があります。

var test = {"1":"test","2":"test2"};
var isdefined = "test.1"

isdefined 変数が「未定義」ではないことを確認するにはどうすればよいですか?

ありがとう!

4

3 に答える 3

1

1に存在するかどうかをテストしようとしていますtestか? その場合、あなたはすることができます

test.hasOwnProperty('1')
于 2012-11-29T11:39:19.177 に答える
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.
于 2012-11-29T11:52:29.433 に答える
0

JavaScriptundefinedは に評価されるためfalse、次のように簡単に実行できます。

if ( isdefined ) {
    // do stuff
}
于 2012-11-29T11:44:33.040 に答える