apply call bind 相当于改变函数内this的指向;
## 定义动物类
function Animal(name){
this.name=name;
}
//用法:
var animal1 = {}; //{}
Animal.apply(animal1, ['dog']); // {name: "dog"}
**等同于将函数内的this指向animal1**
function Animal(name){
animal1.name=name;
}
console.log(animal1) //{name: "dog"}
//区别
apply(参数:改变指针的对象,[参数1,参数2...])
//用法:
var animal2 = {}; //{}
Animal.call(animal2, 'pig'); // {name: "pig"}
**等同于将函数内的this指向animal2**
function Animal(name){
animal2.name=name;
}
console.log(animal2) //{name: "pig"}
//区别
call(参数:改变指针的对象,参数1,参数2...)
//用法:
var animal3 = {}; //{}
Animal.bind(animal3)('chicken'); // {name: "chicken"}
//区别
bind返回的是一个函数对象,需要执行
//等同于返回
function Animal(name){
animal3.name=name;
}