关于js中this指向的问题

function a(xx){
  this.x = xx;
  return this;
}
var x = a(5);
var y = a(6);
console.log(x.x);
console.log(y.x);

1.先补充知识点,因为所有使用var声明的全局对象,都是window对象的属性,也就是this当前的指向对象。

  1)先执行a(5),现在x就是window,也就是说window中的x就是window

  2)在执行a(6)时,把window中的x变成了6了,所以x.x就是undefined,而y.x是6

猜你喜欢

转载自www.cnblogs.com/nyhhd/p/12564518.html