【发布时间】:2011-08-15 12:53:24
【问题描述】:
我已将自己声明为一个名为“breakdown”的 JavaScript 对象。
然后我借用了我在 jQuery extend() 文档中找到的一个函数,该函数在不同的页面上运行良好,但设置相同 - 奖励对象而不是故障。
breakdown = {};
breakdown.printObj = function(obj) {
var arr = [];
$.each(obj, function(key, val) {
var next = key + ": ";
next += $.isPlainObject(val) ? printObj(val) : val;
arr.push( next );
});
return "{ " + arr.join(", ") + " }";
}
然后我尝试像在其他页面上一样使用它来查看我的“类别”数组中的内容:
breakdown.getPointsBreakdown = function(categories, transactions) {
alert( breakdown.printObj(categories) );
如果我改为“键入”该警报,它会显示“对象”。如果我提醒“categories[1].Title”,它会显示“Good Behaviour”,因此该数组正在正确地传递给该函数中的 categories 变量。
但是,当我使用“breakdown.printObj”时,我在 FireBug 中收到以下错误:
ReferenceError { message="printObj is not defined", fileName="https://frog.ashingtonh...7fa8452ccb3e94ba89e487a", more...}
我不明白怎么做!
【问题讨论】:
-
你在哪里提醒'breakdown.printObj'?在你的 .each 里面?就在您的方法符号下方?另外,你是不是“varring”故障并且你刚刚将它声明为“breakdown = {};”为了你的例子?例如,它是否在您的实际代码中声明为“varbreak = {};”?
-
顺便说一句,你为什么不直接使用 JSON 序列化器?
标签: javascript jquery javascript-objects