0

今、私を再び混乱させる何かについて。ファイルには次のコードがありますが、オブジェクトで定義されthis.xCenter = options.xPos;ている場所が見つかりません。そして、驚いたことに、コードは正常に実行され、エラーは表示されませんでした。実行結果を知る前に、のプロパティを定義しなかったため、コードが正常に実行されていないはずだと思うので、混乱しています。これは、Javaの構文とは大きく異なります。順番に、私はそれがオブジェクトのプロパティを定義/追加する方法だと思います、私の仮定は正しいですか、それともコードだけが何か他のものを意味しますか?xCenterthisthis.myattr = 12;thismyattr

4

1 に答える 1

6

Javascriptは、動的に(そして弱く)型付けされた言語です。必要に応じてプロパティを追加できます。最初に宣言する必要はありません。

例えば ​​:

var obj = {};      // create an object but we don't define any properties
obj.foo = "hello"; // property foo just got created
obj.bar = 10;      // and same for bar
console.log(obj);

一方、Javaは静的に(そして強く)型付けされた言語であるため、変数とプロパティは使用する前に宣言する必要があります。

于 2012-12-11T09:30:52.350 に答える