【javascript】javascript中的this

其它一些编程语言如C++、Java等,其中的this值得是对象自己,但是JavaScript则不是,可能是自己也可能是其它。
  1. 当函数被直接调用时this指向全局对象window;
  2. 当函数被当作一个函数方法调用(即通过“.”或者“[]”来调用时),this指向调用该方法的对象。
可以使用call和apply强制改变this。

例:
function a(){
        console.log(this.name+typeof(this));
}
--------------------------------------------------------------
a();//这里直接调用a(),则this指window对象
JavaScript中的this

this.name="",所以结果就是对象
--------------------------------------------------------------
var zhao={name:"my name"};
zhao.say=a;//把a()最为zhao的方法,则是第二种情况,this指zhao这个对象
zhao.say();
a.call(zhao);//call强制改变a中的this为zhao这个对象

JavaScript中的this

--------------------------------------------------------------
a.a=a;//把函数a()当作其自身方法
a.name="my name   ";
a.a();//情况2,this指调用函数a()的对象,这里就是函数a本身

JavaScript中的this注意这里的结果

--------------------------------------------------------------
({
    name:"zhao",
    a:a
}).a();//匿名函数直接调用自身方法a,this指向这个匿名函数
JavaScript中的this
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值