看看官方解释的调用(),调用一个对象的
方法,用另一个对象
替换当前对象:
复制代码代码如下所示:
我是一个全局变量;
函数(a)定义函数类结构a
这个x我在函数类结构中声明一个;
}
定义普通函数,弹出的当前指针包含变量x的值。
函数f(){
警报(此x);
}
返回值是在i语句函数类结构中。
f.call(新一());
我的理解是,f.call(新一())是复制
功能(实际对象)F的对象称为新()来解析它,事实上,为下面的分析代码的结果是:
复制代码代码如下所示:
函数A(){
这个x我在函数类结构中声明一个;
警报(此x);
}
(a);
但是变量x在这个时候的范围是不同的。……看起来像是一点遗产,不是吗在这种
情况下,F是完全继承了一个对象的构造函数的实力,如果这还不足以表明a.call(B)是一种遗传
模式,再看看一个更有品味的传承方式。
复制代码代码如下所示:
函数f(){
这个;
此函数=(){
警报();
}
}
函数E(){
f.call(本);
}
新的E();
警报(一); / /流行
C. B(b);
在这种情况下,只要使用
浏览器的朋友,可以看到E继承了f的
属性和方法,否则就无法解释,因为E不定义a和b的属性,然后根据C中E对象实例中的常识,并且不会出现这两个属性。