正确定义的JavaScript函数中的ReferenceError
ReferenceError from a JavaScript function that is defined correctly?
我为自己声明了一个名为"breakdown"的JavaScript对象。
我已经借了一个函数,我发现在jQuery扩展()文档,它在不同的页面上工作得很好,但相同的设置-奖励对象,而不是崩溃。
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) );
如果我"typeof"该警报,它将显示"object"。如果我警告"类别[1]"。,它显示"Good Behaviour",所以数组被正确地传递给了这个函数中的categories变量。
然而,当我使用"breakdown。printObj",我在FireBug中得到以下错误:
ReferenceError { message="printObj is not defined", fileName="https://frog.ashingtonh...7fa8452ccb3e94ba89e487a", more...}
我不明白怎么回事!
变化
next += $.isPlainObject(val) ? printObj(val) : val;
:
next += $.isPlainObject(val) ? breakdown.printObj(val) : val;
你应该在第6行有breakdown.printObj(val)
而不是printObj(val)
变化
breakdown.printObj = function(obj) {
// snip...
};
breakdown.printObj = function printObj(obj) {
// snip...
};
以便你可以递归地调用它。
命名函数表达式
相关文章:
- 未捕获的ReferenceError:$未定义
- ReferenceError: not defined
- ReferenceError: cordova is not defined @ng-cordova.min.js:7
- 为什么JavaScript抛出'未捕获的ReferenceError:var未定义'定义var时
- Node.js错误“;ReferenceError:全局未定义“;在从0.10.2更新到0.12.2之后
- 未捕获的ReferenceError:未定义VM1299:1(匿名函数)
- React ReferenceError:未定义文档
- ReferenceError: $firebase is not defined
- 未捕获的ReferenceError:webkitNotifications未定义
- 尝试将js函数更改为coffeescript时发生Uncaught ReferenceError
- Web用户控件中Javascript的ReferenceError
- ReferenceError: crimeID is not defined
- Rails Uncaught ReferenceError:$$未定义为升级到jquery
- 懒惰加载插件抛出Uncaught ReferenceError
- 未捕获的ReferenceError:未定义测试(函数)
- 未捕获的ReferenceError:未在单击时定义
- ReferenceError:未定义角度
- Ionic应用程序在部署后给出ReferenceError:未定义Promise
- Uncaught ReferenceError:尝试在Android网络视图中访问时未定义函数
- ReferenceError:require未在javascript中定义