var role = {};
function test_func(name,sex){
	this.name=name;
	this.sex=sex;
}

// 显式传递this
// 函数.call可以显式的传递一个实例,函数中的this就是指这个实例
// 在这里this--->role test_func.call(role,"leon","男"); console.log(role); // 隐式传递this var role1={ name:"leon", test_func:function(){ // 谁调用这个函数 this就指谁 console.log(this); }, }; role1.test_func(); // 强制传递this(强制传递的优先级高于隐式传递) var func=function(){ // this指bind的对象 console.log(this.sex); }.bind(role); func(); func=function(){ console.log(this); } // .bind()返回一个新的函数对象 func2 = func.bind(role.name); func(); func2.call(4); func2();

优先级:强制传递>显示传递>隐式传递

  

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。