函数调用方式:
1.函数名()
2.函数名.call()
3.函数名.apply()
4.函数名.bind()()
修改this指向
obj.sayName();
1.修改this指向 call(执行环境对象,实际参数列表)
obj.sayName.call(obj1,'hello','tom');
2.修改this指向 apply(执行环境对象,[实际参数列表])
obj.sayName.apply(obj1,[1])
3.修改this指向 bind(执行环境对象); bind() 返回的是函数本身 bind(执行环境对象,实际参数列表)(实际参数列表)
var res = obj.sayName.bind(obj1);
console.log(res);