我正在尝试将以下内容翻译成ES5,同时学习语言:
const transitionendFn = ()=> {
[...this.slider].forEach((el)=> el.className = 'item');
selectedEl.classList.add('active');
this.isAnimating = false
}
ES5:
const transitionendFn = function() {
[].concat(this.slider).
forEach(function (el) {
return el.className = 'item';
});
selectedEl.classList.add('active');
this.isAnimating = false
}
我不明白传播部分。
this.slider
包含以下内容:
感谢任何纠正此代码的帮助。
我得到“TypeError
:el
未定义”与我的翻译。
答案 0 :(得分:3)
请注意:
this
绑定。传统函数(ES5中唯一可用的函数)可以,因此您必须将其绑定到所需的值。const
个变量。只有var
个。this.slider
类似于数组。然后翻译就像
var transitionendFn = function() {
[].forEach.call(this.slider, function(el) {
return el.className = 'item';
});
selectedEl.classList.add('active');
this.isAnimating = false;
}.bind(this);