为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript的this指针在不同情况下的应用

标签:
JavaScript

最近看别人代码的时候,经常能见到JS中的this关键字,自己也是经常会用到,但是用的越多,反而越糊涂,所以打算整理一下,也加强下自己的记忆。
一、当函数作为一个对象的方法时,在函数中使用this,此时this指向这个对象。

var Student={
    name:'Frank',
    sayName:function(){
        alert(this.name);       //Frank
        alert(this===Student);  //true
    }
}
Student.sayName();

二、
当函数作为构造函数使用时,在构造函数中使用this,则this指向的是通过构造函数创建出来的新的对象。

function Cat(name){
    this.name=name;
}
var cat1=new Cat('Tom');
alert(cat1.name);   //Tom

三、
在全局作用域中使用时,this就指向全局对象window。

var name='Frank';
alert(this.name);       //Frank
alert(window.name);     //Frank
alert(this===window);   //true

四、
使用函数的call或者apply方法将this指向其他的作用域,可以重新定义函数的执行环境,即this的指向。

var obj1 = {  
    name: 'Tom',  
    getName: function() {  
        return this.name  
    }  
}  
var obj2 = {  
    name : 'Jack'  
}  

console.log(obj1.getName()) ;//Tom
console.log(obj1.getName.call(obj2)) //Jack
点击查看更多内容
12人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消