オブジェクトを返す JavaScript 関数があります。そのオブジェクトを myarray オブジェクトに格納し、 switch を使用して一致した値を返そうとします。一致した値、つまり「未定義」を返すと、誤った結果が返されます
以下のコードとそのコメントを読んでください
parseobjectarray('description') // "undefined"
function parseobjectarray(attribute) {
var returnval;
$(document).ready(function () {
var myArray = new Object();
myArray = ParsePagetags(); // returns an object
switch (attribute) {
case 'description':
returnval = myArray.description;
//alert(returnval); // shows correct result
break;
default:
returnval = "";
}
//alert(returnval); // shows correct result
});
alert(returnval); // shows incorrect result i.e "undefined"
return returnval; // shows incorrect result i.e "undefined"
}
どうして???