JavaScript中的this关键字的四种绑定方式

为什么使用this

        在函数中使用对象名来访问他的属性时,在对象名过长的时候,不易于书写,于是使用this替代。

this的四种绑定规则

        默认绑定:函数被调用的时候,this默认指向全局window对象。

function girl (){
    console.log(this);
}
girl();  // 输出window对象

       隐式绑定:隐式绑定,this指向调用函数的对象

var girl = {
    name:"小红",
    height:160,
    detail:function(){
        console.log('姓名:'+this.name);
        console.log('身高:'+this.height);
    }
}
girl.detail();

      硬绑定:使用call,bind,apply强行绑定this指向方向

var girName = {
    name:'小红';
    sayName:function(){
        console.log('我的女朋友是'+this.name);
    }

}
var girl1 = {
    name:'小白';
}
var girl2 = {
    name:'小黄';
}
girlName.sayName.apply(girl1);  //我的女朋友是小白
girlName.sayName.apply(girl2);  //我的女朋友是小黄

        构造函数绑定(new): 使用new初始化对象的的时候,会将构造函数的this绑定到该对象上。

function Lover(name)(){
    this.name = name ;
    this.sayName = function(){
        console.log('我的老婆是'+this.name);
    }
}
var name = '小白';
var xiaoHong = new Lover('小红');
xiaoHong.sayName();  //我的老婆是小红

本内容总结于JavaScript的this关键字 - Web前端工程师面试题讲解_哔哩哔哩_bilibili的视频如果有兴趣大家可以看一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值