私はthing.jsというファイルにjavascript「モジュール」(Pythonでそれらを呼んでいます)を持っています:
function Thing(){
this.a = "foo";
this.b = "bar";
this.c = "";
this.d = function(){
this.c = this.a + this.b;
};
};
var things = {
'one':Thing(),
'two':Thing(),
'three':Thing()
};
alert(things["one"]); // output: undefined!!??
/* Pick out two random items from things. */
var random_thing = function(){
//var grabbed = 0;
//while(grabbed < 1){
var pick = getRandomInt(0,2);
alert(things["one"]); // output: undefined!!
//if ()
//return pick;
};
コードが少し不完全です。ランダムに2つのアイテムを選び、それらを返したいと思います。しかし、それは当面の問題ではありません。
main.jsという別の「メイン」JavaScriptファイルがあります。このファイルはこれらのオブジェクトと関数を呼び出します。
$div1.append(random_thing());
私のhtmlファイルには、両方のjavascriptファイルを含めています。
<script type="text/javascript" src="thing.js"></script>
<script type="text/javascript" src="main.js"></script>
しかし、私が取得し続ける出力は、alert(things ['one'])に対して「未定義」です!最初のアラートが未定義を返す方法がわかりません。物事連想配列の定義のすぐ下にあります。