学习一下this
到处查了后,有这么一句话
this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,
实际上this的最终指向的是那个调用它的对象
案例:
var a={
name:"王五",
age:18,
say:function(){
console.log("我为自己代言,我是"+this.name);
}
}
a.say();
// 我为自己代言,我是王五
对象a调用了this所在的方法say,this指向a
var b={"name":"小三"}
b.say = a.say;//赋值
b.say();
// 我为自己代言,我是小三
this指向了对象b
===============================================================================
再变一下
var name = "window";
var d = function(){
console.log("我为自己代言,我是"+this.name);
}
a.say = d;
b.say = d;
a.say();
b.say();
d();//d是window下的方法,window.d() ,结果是window
==============
如果一个函数在全局环境中运行,那么this就是指顶层对象(浏览器中为window对象)。
===这是一般的简单使用
、、
构造函数中的this,指的是实例对象。

浙公网安备 33010602011771号