// function fn1(x,y) { // var sum = x + y; // console.log(sum,'sum'); // console.log(this,'1'); // console.log(this.name,'2'); // } // var obj = { // name: 'LiLi' // } // fn1(1,2) // fn1.call(obj,1,2); // 改变this指向的方法 // 1.call(修改的this指向,参数1,参数2) // 2.apply(修改的this指向,[参数1,参数2]) // 3.bind(修改的this指向,参数1,参数2)() // 区别: // 1.bind不会直接调用函数方法,apply和call会直接调用函数 // 2.call 第二个参数开始,需要将传入的参数都逐个列出来 // 3.apply第二个参数开始,需要将传入的参数放在数组里 // function fn2(a,b) { // var sum = a*b; // console.log(sum); // console.log(this); // } // var obj1 = { // sex: '女' // } // fn2(2,3); // fn2.apply(obj1,[2,3]) function fn3(y,z) { var sum = y - z; console.log(sum); console.log(this); console.log(this.age); } var obj2 = { age:'100+' } fn3(10,2); fn3.bind(obj2,10,2)();