knockout.js(js)代码在IE中出现“意外地调用了方法或属性”的错误

    var CartListViewModel = function () {
        var self = this;

        self.payment = [
                    { name: "", value: 1 },
                    { name: "", value: 2 },
                ];

        self.items = ko.observableArray([]);    // {'id':1,'data':['aa','bb']}

        self.load = function () {
          

             var data = <%=cartListMap %>;
            

            var items = new Array();
            for (var i in data) {
                var dataItem = data[i];

                var cartItem = new CartItemViewModel()
                。。。

                items.push(cartItem);
            }
            self.items(items);
        };

        self.TotalSum = function(){
            var totalsum = 0;
            var ilength = this.items().length;
            for(var idx = 0; idx < ilength; idx++)
            {
                var iItem = this.items()[idx];
                if (iItem.selected())
                {
                    totalsum = totalsum + iItem.goodsPrice();
                }
            }    

            return totalsum.toFixed(2);            
        }


    }

 上面部分knockout.js代码,其中,TotalSum函数中,return totalsum;(原来的代码)在FF中正常运行,但在IE总出现“意外地调用了方法或属性”的错误。后来在代码后加了toFixed(2)后正常。

posted @ 2014-05-05 14:59  撞上安全岛  阅读(702)  评论(0编辑  收藏  举报