Javascript 对象数组不返回正确的值
Javascript Object array does not return correct value?
我有一个返回对象的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"
}
为什么???
你的:
alert(returnval);
不在:
$(document).ready(function () {
});
尝试:
$(document).ready(function () {
function parseobjectarray(attribute) {
var returnval;
var myArray = new Object();
myArray = ParsePagetags(); // returns an object array
switch (attribute) {
case 'description':
returnval = myArray.description;
alert(returnval); // shows correct result
break;
default:
returnval = "";
}
alert(returnval); // shows correct result
return returnval;
}
parseobjectarray(yourAttribute);
});
您在$(document).ready()
内的方法在alert(returnVal)
运行后运行。
你这里的架构是完全错误的。 您正在初始化一个变量,然后调用 $(document).ready()
方法,尝试提醒returnval
变量,然后返回该变量。
请尝试以下结构:
function parseobjectarray(attribute) {
var returnval;
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
return returnval;
}
$(document).ready(function(){
parseobjectarray(attribute);
});
$(document).ready()
用于在加载文档后建立事件侦听器或触发指定的函数。 如果您希望在加载文档并且该函数需要重用后触发此函数,请从方法中移动函数声明,然后单独调用该函数。
如果函数不会重用,则可以将函数声明保留在$(document).ready()
函数中。
是否有特殊原因需要 $(document).ready(...在你的函数内?尝试没有文档.ready...
function parseobjectarray(attribute) {
var returnval;
var myArray = new Object();
myArray = ParsePagetags(); // returns an object array
switch (attribute) {
case 'description':
returnval = myArray.description;
alert(returnval); // shows correct result
break;
default:
returnval = "";
}
alert(returnval); // shows incorrect result i.e "undefined"
return returnval;
}
相关文章:
- javascript函数,它接受两个输入:一个对象和一个键,并返回对象中该键的相应值
- 通过数组值返回对象
- JavaScript:返回对象的函数
- 为什么document.getElementsByClassName(“className”)返回对象
- 如何返回对象
- Promise没有;t返回对象的数组
- 面料:“;鼠标:向下”;在event.target中未返回对象
- Lodash:返回对象的第一个键,该对象的值(即数组)中有一个给定的元素(即字符串)
- Javascript:返回对象
- 为什么 javascript 返回对象位置 true 或 false
- 解析查询查找方法返回对象而不是数组
- 来自函数的返回对象在 jQuery 中未从 $.post 定义
- JavaScript 返回对象未按预期工作
- 返回“[对象对象] NaN” - Javascript
- 何时从创建返回对象
- Javascript:接收对象并返回对象中描述的所有数字的列表的函数
- JSDoc:返回对象结构
- node.js请求返回对象
- 返回对象的ECMAScript 6箭头函数
- 如何从控制器返回对象列表并使用JQuery(SpringMVC,ajax)显示它们