:)出于纯粹的好奇心,据我所知,没有人在JavaScript构造函数中执行this
关键字的缓存。
让我们考虑一个简单的示例,您通常会创建一个构造函数:
const Car = function() {
this.wheels1 = 1;
this.wheels2 = 1;
this.wheels3 = 1;
};
console.log(new Car); // Nice! It outputs the Car instance obj as usual.
从上面的代码片段中可以看到,我们必须每次打电话this
。那这个呢?
const Car = function() {
(that => {
that.wheels1 = 1;
that.wheels2 = 1;
that.wheels3 = 1;
})(this);
};
console.log(new Car); // Nice! Returns the same result!
现在,我不是在谈论具有一些属性的小型应用程序。如果要有 TON 怎么办?同样适用于方法。这两个代码片段会根据性能而有所不同吗?为什么?