06前端基础----this指向

一、this的绑定规则:

1、默认绑定:

function girl(){
    console.log(this);
}
girl();

全局调用gir()函数,这里的this,并没有明确指向谁,所以就是默认Window全局对象

2、隐式绑定:

var girl={

name:"小红";
height:"160";
detail:function(){
console.log("姓名:",this.name);
}
}
girl.detail();

这里的this,指向这个girl对象,所以此处的this=girl

3、硬绑定:

注意:call和apply方法,会强制绑定当前传入的对象,而且也不会把原对象给暴露出去

4、构造函数绑定:

Vue中的this指向:

如果一个请求回调假设如下:

handleRequest(){
uni.request({
  url:'xxx',
  method:'GET',
  success(res){
   console.log(this) //此时this指向函数本身
}
})
}
//如果要改变tthis指向可以这样:
handleRequest(){
//方法一:
const _this=this
uni.request({
  url:'xxx',
  method:'GET',
  success(res){
   console.log(_this) //此时this指向Vue组件
}
})
}
handleRequest(){
uni.request({
  url:'xxx',
  method:'GET',
//方法二:箭头函数
  success:res=>{
   console.log(this) //此时this指向Vue组件
}
})
}

要注意的是,当前的this是和哪个实例化的对象绑定,这点很重要!!!

注意:“use strict”,严格模式下,会将this的改成undefined

在全局环境中定义变量,那么这个变量也是属于Window对象的;

总结:谁调用了this,this就指向谁!!

本文根据技术蛋老师视频整理得出,如有错误,欢迎指出~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值