node_js 学习笔记 02(关于this传递)
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();
优先级:强制传递>显示传递>隐式传递