<script type="text/javascript">
// Call方法:
// 语法:call(thisObj[,arg1,arg2,...,argN])
// 定义:调用对象的一个方法,用另一个对象替换当前对象 // Apply方法:
// 语法:apply([thisObj,argArray])
// 定义:应用某一个对象的一个方法,用另一个对象替换当前对象 //a,
function add (a,b) {
alert(a+b);
}
function sub(a,b){
alert(a-b);
}
add.call(sub,3,1);
用add来替换sub,add.call(sub,3,1)==add(3,1),结果是alert(4);
//b,
function Animal(){
this.name="Animal";
this.showName=function(){
alert(this.name);
}
}
function Cat(){
this.name="Cat";
}
var animal=new Animal();
var cat=new Cat(); animal.showName.call(cat);
// 通过call或者apply方法,将原本属于Animal对象的showName()方法交给对象cat来使用。结果为alert("Cat");
//c,可以实现继承。
function Animal(name){
this.name=name;
this.showName=function(){
alert(this.name);
}
}
function Cat(name){
Animal.call(this,name);
}
var cat=new Cat("Black Cat");
cat.showName();
//Animal.call(this)的意思是使用Animal对象代替this对象,那么Cat中就有了Animal的所有方法和属性了,Cat对象就能直接调用Animal的方法和属性了。
//d,多重继承
function Class10(){
this.showSub=function(a,b){
alert(a-b);
}
}
function Class11(){
this.showAdd=function(a,b){
alert(a+b);
}
}
function Class2(){
Class10.call(this);
Class11.call(this);
}
//使用两个call就实现多继承了。 call和apply的区别在于call的第二个参数可以是任意类型,而apply的第二个参数必须是数组或者arguments
</script>

《ES6基础教程》之 Call 方法和 Apply 方法的更多相关文章

  1. 关于JAVASCRIPT call 方法和 apply 方法性能对比

    JavaScript 关于call 方法和 apply 方法常用形式 call obj.call(object, args , ....); apply obj.apply(object, [args ...

  2. JS中的call()方法和apply()方法用法总结

    原文引自:https://blog.csdn.net/ganyingxie123456/article/details/70855586 最近又遇到了JacvaScript中的call()方法和app ...

  3. call()方法和apply()方法

    最近又遇到了JacvaScript中的call()方法和apply()方法,而在某些时候这两个方法还确实是十分重要的,那么就让我总结这两个方法的使用和区别吧. 1. 每个函数都包含两个非继承而来的方法 ...

  4. call()方法和apply()方法用法总结

    1. 每个函数都包含两个非继承而来的方法:call()方法和apply()方法. 2. 相同点:这两个方法的作用是一样的. 都是在特定的作用域中调用函数,等于设置函数体内this对象的值,以扩充函数赖 ...

  5. call方法和apply方法

    1.call 语法 call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 参数 thisObj  可选项.将被用作当前对象的对象. arg1,arg2, , argN  ...

  6. JS中的call()方法和apply()方法用法总结(挺好 转载下)

    最近又遇到了JacvaScript中的call()方法和apply()方法,而在某些时候这两个方法还确实是十分重要的,那么就让我总结这两个方法的使用和区别吧. 1. 每个函数都包含两个非继承而来的方法 ...

  7. jquery call方法和apply方法接触

    call方法: 语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call 方法可以用来 ...

  8. js中得call()方法和apply()方法的用法

    方法定义 call方法: 语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call 方 ...

  9. js中call()方法和apply方法的使用

    1. 方法定义 call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call ...

随机推荐

  1. [VijosP1656]萌萌赶考 题解

    题目大意: 有一个地图,有障碍,不能重复经过一点(但起点可以),判断能否恰好在t时刻从起点到达终点. 思路: 一开始DFS一遍,30分,于是要有优化减枝.最重要的是从起点到终点的距离的奇偶性是与起点与 ...

  2. python 时间转换

    def getDateTime(time_str): ''' 转换时间 :param time_str: :return: ''' if not isinstance(time_str,unicode ...

  3. 第一次IT技术面试经历

    一.技术总监面试问题: 1.Hibernate的应用项目例举 2.jsp标签库例举 3.oracle的增删改查 4.关系型数据库的关联关系 5.数据库分页操作 二.技术总监面试问题: 1.for循环中 ...

  4. sparkR读取csv文件

    sparkR读取csv文件 The general method for creating SparkDataFrames from data sources is read.df. This met ...

  5. Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)

    互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的.现在核心业务抽取出来,作为独立的服务,使 ...

  6. 步骤进度条 css

    用css写一个简单的步骤进度条 html代码: <h4>南京游玩</h4> <ul class="step-list"> <li> ...

  7. jsfl调整笔刷的笔触和颜色

    今天在用jsfl写脚本以简化对fla资源的处理工作,在画矩形时需要能自动调整笔刷的笔触颜色,填充颜色透明度,查jsfl文档无果,上网查了多番资料写出了可用代码,共享下: var fill = fl.g ...

  8. linux开启FTP以及添加用户配置权限,只允许访问自身目录,不能跳转根目录

    1.切换到root用户 2.查看是否安装vsftp,我这个是已经安装的. [root@localhost vsftpd]# rpm -qa |grep vsftpd vsftpd--.el7_2.x8 ...

  9. qemu ubuntu for zynq(armhf)

    apt-get install qemu-user-static qemu-system mkdir qemu-ubuntu qemu-debootstrap --arch=armhf trusty ...

  10. 工作总结_JS_1

    获取点击下的相对应的div: $('> div', this).show(); 本身同级下的相对应的div:   $('>div[name=vv]', $(this).siblings(& ...