1 punto ES6 de esto es encontrar el punto a esta capa exterior más cercano.
Cuando no se cambia este punto, una flecha en esta función, hay dos casos
- 1 este punto para el elemento que se ha registrado
<script>
var btn=document.querySelector(button);
btn.onclick=function(){
console.log(this);//this 指向btn
}
</script>
- 2 Esta ventana de punto, en un sujeto, una matriz de sujeto, la función, la función de las flechas apuntan a esta ventana. En este caso, la capa más externa es una función global
// 1 对象中的箭头函数的this指向window
var obj = {
name: 'lxf',
say: () => {
console.log(this);
console.log('对象中箭头函数中的this' + this);
}
}
obj.say();
// 2 函数中的箭头函数中的this指向window
function fun() {
let a = () => {
console.log('函数中 箭头函数中的this:' + this);
}
a(); //调用箭头函数
}
fun();
// 3 数组对象中的 箭头函数中的this指向window
var arr1 = [{
name: 'age',
say: () => {
console.log('函数中的箭头函数中的this'+this);
}
}]
arr1[0].say();
2 no cambia este punto, la función convencional de este punto hay dos casos
- Señalando instancia de un objeto
// 创建对象时this的指向
function Start(a, b, c) {
this.uname = a;
this.age = b;
this.sex = c;
this.say = function() {
console.log(this); //此时的this指向实例对象,
}
}
var ldh = new Start('ldh', 18, 'man');
ldh.say(); //在此this指向ldh这个对象
- Señalando a la persona que llama
var obj = {
uname: 'deng',
age: 18,
sex: 'man',
say: function() {
console.log(this);
}
}
obj.say(); //this指向obj,是obj调用的。
<script>
var btn=document.querySelector(button);
btn.onclick=function(){
console.log(this);//this 指向btn
}
</script>