php四种引用方式,函数四种调用模式以及其中的this指向

第一种:函数直接执行模式

function add(a,b){

console.log(this);

return a+b;

}

add(10,20)//this===window

第二种:对象方法的调用模式

var obj={

name:'aaa',

age:20,

said:function(){

console.log(this);

}

}

obj.said();//this===obj,此处this指代被调用者

第三种:构造器的调用模式

function School(){

this.said=function(){

console.log(this);

}

}

var nanj=new School();

nanj.said();//对象调用自己的方法,this===nanj,类似上面

第四种:call和apply调用模式

function change(a,b){

this.detial=a*b;

console.log(this);

}

var p={};

change.call(p,4,5);//此处的this===p

console.log(p.detial);

var q=[];

change.call(q,5,10)//this===q

console.log(q.detial);

//apply和call一样的用法,只不过apply第二个参数用数组进行传递

var arr=[];

change.apply(arr,[10,10]);//this===arr

console.log(arr.detial);

var str={};

change.apply(str,[20,20]);//this===str

console.log(str.detial);

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值