删除评估值Javascript时的错误
Remove error when evaluating value Javascript
在您忽略这个问题之前,我确切地知道是什么导致了这个错误以及为什么。我有一个对象,我正在通过检查它的长度来有效地测试它是否为空;当数组为空时,每个$scope.$on('$ionicView.enter')
调用大约会导致30个错误。
有没有一种方法可以阻止这些错误不断抛出/有没有更好的方法来测试数组是否填充了一些东西?
JS:
$scope.checkLeague = function () {
if ($scope.favs.length > 0){
return false;
}
return true;
};
错误:
null is not an object (evaluating '$scope.favs.length')
编辑:深入研究该问题后,$scope.favs
被初始化为null
以尝试解决此错误,但在代码的后面被设置为空数组,因为这是REST响应。问题仍然在于成功捕获一个总是实例化但可能为空的数组。将阵列记录到控制台将始终生成[]
。
尝试在之前检查$scope.favs值
$scope.checkLeague = function () {
if ($scope.favs && $scope.favs.length > 0){
return false;
}
return true;
};
你可以试试这样的东西:
$scope.checkLeague = function () {
if ($scope.favs.hasOwnProperty("length") && $scope.favs.length > 0){
return false;
}
return true;
};
值为"0"或null
的长度属性并不一定意味着对象为空。检查
var a = [1,2,3,4];
a.key1 = "test";
a.length; // <- 4
Object.keys(a); // <- ["0", "1", "2", "3", "key1"]
a.length = null;
a; // <- [];
Object.keys(a); // <- ["key1"]
Object.getOwnPropertyNames(a); // <- ["length", "key1"]
您可能需要检查Object.keys().length
相关文章:
- object响应时出现对象错误javascript
- 未捕获的语法错误:javascript对象上出现意外的标记ILLEGAL
- Phonegap-Android 4.4-html5音频长度错误(javascript和媒体插件)
- 未捕获的语法错误:javascript中出现意外的标记}
- 如何从 MVC4 链接调用 Javascript 方法(错误 JavaScript 运行时错误:对象不支持此操作)
- 未捕获类型错误javascript方法
- 将字符串返回到类型为“0”的输出字段;数字“;针对用户错误javascript
- 解析器错误(Javascript初学者寻找解决方案)
- IE 错误 .JavaScript 运行时错误:对象不支持属性或方法“preventDefault”
- appendChild 不是函数错误 (JAVASCRIPT)
- 错误 JavaScript 函数
- 而循环抛出错误JavaScript
- 意外的类型错误 - Javascript,多维数组
- 语法错误:Javascript 中的意外令牌/将数据发布到 Amazon s3
- 语法错误:Javascript 中缺少指数
- 错误“JavaScript 运行时错误:查找滚动位置时无法获取未定义或空引用的属性'scrollLeft'”
- 错误 JavaScript 循环数组
- 错误:Javascript 上的 [对象对象]
- IndexedDBShim.js错误:JavaScript运行时错误:在严格模式下不允许分配只读属性
- 在Evernote listNotebooks API上获取错误-Javascript/Node.Js