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)后正常。