对于Firefox和IE中的循环错误,但不是Chrome

时间:2015-04-09 20:26:11

标签: javascript google-chrome internet-explorer firefox runtime-error

我有一个奇怪的问题:我在JavaScript中有一个for循环,在Chrome中完全按预期运行,但在Firefox或IE中没有。在Firefox和IE中,它为数组添加了一个未定义的项目,我不知道为什么。

angular.module('app', [])

.controller('itemCtrl', function($scope){
    $scope.itemsa = [
        { name: 'testa' },
        { name: 'testb' }
    ];
    $scope.itemsb = [];

    $scope.doSomething = function(IDparam) {
        for(var i = 0; i < $scope.itemsb.length; i++){
            if ($scope.itemsb[i].name === $scope.itemsa[IDparam].name) { ... }; };

根据两个浏览器中的开发人员工具,$scope.itemb在for循环起始行for(var i = 0; i < $scope.itemsb.length; i++)中的长度为0但是(无论出于何种原因)它仍然启动for循环(它不应该从我所知道的)然后在下面的行if ($scope.itemsb[i].name === $scope.itemsa[IDparam].name)中出现了一个未定义的0数组位置的项目(然后产生错误)。

有什么想法吗?

0 个答案:

没有答案