JavaScript -call方法使用
call 的方法使用:
call() 如果没有参数的情况下,调用的场景和一般的场景没有任何的区别,不会影响其他的一些因素(this的指向,没有参数的时候,this的指向会是window,有参数则是指向参数的第一位)
实例:
function Person(name,age){
this.name = name;
this.age = age;
}
var person = new Person("nihao",18);
var obj = {}
Person.call(obj,"你好",28);
打印:
person
Person{name:"nihao",age:18}
obj
{name:"你好",age:28}
解析: 这里使用Person,call() l里面有3个参数,第一个参数obj是给数据定义指向的(意思就是把this的指向为obj而不在是window了),第二参数开始就和构造函数的形参进行一一对应,这样写的好处就是在于,可以利用其他构造函数的构造方法进行快速的构建出自己的数据出来,
总结:利用Person的构造函数来快速的创建一个属于obj自己的函数数据
以上仅个人理解,如有问题,请告知,谢谢!!!