1. 程式人生 > >2018-11-17 js的this引起的血案

2018-11-17 js的this引起的血案

js的this.

昨天測試,刪除商品會報錯,馬上去測了一把,的確會報錯。為毛線呢?

SubOrderItem: function (orderitem) {
if (orderitem.ordernum() === 1) {
var mm = this;
mm.orderitem = orderitem;
vm.ShowYesOrNoDialog("是否刪除此商品?", "", {
btnname: "確定",
operation: function () {
vm.orderinfo.SubNum(mm.orderitem, 1);
vm.closeMe();
}
});
return;
}
vm.orderinfo.SubNum(orderitem, 1);
},

錯誤是tojson(orderitem)報錯誤。因為orderitem下面還有orderitem.最糟的是它指向了它自己的父親。

想了半天為啥,最後發現是this的原因。 點選物件當前是orderitem,而我又寫了紅字的部分,最後導致了,它指向了它自己。