Dec
03
2021
vue 使用forEach报错,this指向问题
作者:
绝缘体.. 发布:
2021-12-03 16:05 分类:
未分类 阅读:
抢沙发
vue 使用forEach的过程中,关于 this 的指向问题。
function PhpernoteChart(data) {
this.data = data;
this.width = 0;
this.data.list.forEach(function (item) {
if (this.width > parseInt(item.x)) {
this.width = parseInt(item.x);
}
});
}
var a = new PhpernoteChart(data);
每一个用function声明的函数在调用时都会在函数内创建自己的this。this一般是函数所操作的对象。如果没有操作的对象。this在”use strict”;严格模式下是 undefined,非严格模式下是 window。
也就是说,function声明的函数总是有自己的this。从而遮盖外层作用域中的this。
如果用es6的箭头函数()=>{}就没有自己的this。在箭头函数()=>{}中访问this,是访问外层作用域中的this
function PhpernoteChart(data) {
this.data = data;
this.width = 0;
this.data.list.forEach(item => {
if (this.width > parseInt(item.x)) {
this.width = parseInt(item.x);
}
});
}
【上一篇】mysql命令gruop by报错this is incompatible with sql_mode=only_full_group_by
【下一篇】了解HTTP/1.1与HTTP/2协议的差异
【下一篇】了解HTTP/1.1与HTTP/2协议的差异
微信扫一扫,打赏作者吧~