javascript教程:call方法

七瑾年Y

七瑾年Y

2016-02-20 01:03

只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的javascript教程:call方法,手机电脑控们准备好了吗?一起看过来吧!

call 方法
调用一个对象的一个方法,以另一个对象替换当前对象。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

call([thisObj[,arg1[, arg2[,   [,.argN]]]]])
参数1:thisObj
可选项。将被用作当前对象的对象。
参数2:arg1, arg2, , argN
可选项。将被传递方法参数序列。
说明:
call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。
如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。

看懂了没?说实话我没看懂,哈哈,没看懂继续往下看。

call 方法在js继承中经常看到,也一直搞不懂,这到底是什么东西,看下面这段代码:

01.function Person(name,age){
02.  
this.name = name;
03.  
this.age=age;
04.  
this.alertName = function(){
05.   
alert(this.name);
06.  
}
07.  
this.alertAge = function(){
08.   
alert(this.age);
09.  
}
10. 
}
11.
 
12. 
function webDever(name,age,sex){
13.  
Person.call(this,name,age);
14.  
this.sex=sex;
15.  
this.alertSex = function(){
16.   
alert(this.sex);
17.  
}
18. 
}
19. 
var test= new webDever("愚人码头",28,"男");
20. 
test.alertName();//愚人码头
21. 
test.alertAge();//28
22. 
test.alertSex();//男

这样 webDever类就继承Person了,Person.call(this,name,age) 的 意思就是使用 Person对象代替this对象,那么 webDever中不就有Person的所有属性和方法了吗,test对象就能够直接调用Person的方法以及属性了;

说的再明白一点,就是相当于将webDever中的Person.call(this,name,age)这部分代码替换为Person类的:

1.this.name = name;
2.  
this.age=age;
3.  
this.alertName = function(){
4.   
alert(this.name);
5.  
}
6.  
this.alertAge = function(){
7.   
alert(this.age);
8.  
}
这样webDever类就相当于:

01. 
function webDever(name,age,sex){
02.  
this.name = name;
03.  
this.age=age;
04.  
this.alertName = function(){
05.   
alert(this.name);
06.  
}
07.  
this.alertAge = function(){
08.   
alert(this.age);
09.  
}
10.
 
11.  
this.sex=sex;
12.  
this.alertSex = function(){
13.   
alert(this.sex);
14.  
}
15. 
}
16. 
var test= new webDever("愚人码头",28,"男");
17. 
test.alertName();//愚人码头
18. 
test.alertAge();//28
19. 
test.alertSex();//男

不知道能不能这么理解?望大家斧正。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

留一个问题:假设webDever类只要继承Person类中的alertName方法,这样可以吗?代码应该怎么写?

展开更多 50%)
分享

猜你喜欢

javascript教程:call方法

Web开发
javascript教程:call方法

javaScript教程:以实例方式学习call函数

Web开发
javaScript教程:以实例方式学习call函数

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

利用javascript中的call实现继承

Web开发
利用javascript中的call实现继承

In Javascript Class, how to call the prototype method.(three method)

Web开发
In Javascript Class, how to call the prototype method.(three method)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

JavaScript教程:JavaScript函数

Web开发
JavaScript教程:JavaScript函数

JavaScript教程:对象方法的使用

Web开发
JavaScript教程:对象方法的使用

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

jQuery教程:jQuery的核心

jQuery教程:jQuery的核心

Word 2000设置文本的字体方法

Word 2000设置文本的字体方法
下拉加载更多内容 ↓