web前端技术博客
您当前的位置:web前端 > JavaScript知识点

JavaScript 中的this

作者:只会切图的前端 发布时间:2021-01-03 16:49:14 浏览量:32

当函数被调用时,会创建一个活动记录(执行上下文)。该记录包含函数在哪里被调用(调用栈),调用的方式,及传入的参数。
this的绑定:
1、默认绑定时,this指向了全局对象。

function fun1(){
   console.log(this.a);
}
var a=1;
fun1();//输出1

2、隐式绑定;当函数引用有上下文对象时,函数调用时this则绑定到这个上下文对象
function fun1(){
   console.log(this.a);
}
var obj={
   a:2,
   fun1:fun1
}
obj.fun1();//输出2

注意:bar此时调用的时fun1函数本身,因此this默认绑定到全局对象
this默认绑定

3、显式绑定;由call或者apply(或者bind)调用
function fun1(){
   console.log(this.a);
}
var obj={
  a:2,
  fun1:fun1
}
fun1.call(obj);//输出2

4、new 绑定
function fun1(a){
   this.a=a;
}
var b=new fun1(2);
console.log(b.a);//输出2

 

发表评论
验证码:
联系我
粤ICP备17092958号