未加星标

从零开始学JavaScript系列(29):apply和call

字体大小 | |
[前端(javascript) 所属分类 前端(javascript) | 发布者 店小二04 | 时间 2016 | 作者 红领巾 ] 0人收藏点击收藏

apply和call

这个之前没研究过,今天简单的看了一下。


命令


简单介绍


例子


apply


将某个函数提供给另外一个对象使用,类似继承


提供的方法.apply(获取方法的对象, 参数);


call


改变函数中this指向的对象


方法.call(被this指向的目标, 传给方法的参数).


共同点:两个都是函数对象的方法。

call的说明:(略微修改自他人的博客,博客链接下附)

关于用call来进行继承(同样改自某博客的例子)

博客链接:

http://blog.csdn.net/sunboy_2050/article/details/6592082

apply可以参照这个(我之前写的):

apply是函数对象(function Function(){})的prototype方法中的一个方法

可以通过console.dir(Function)来打印全部方法

又因为所有函数都继承于Function函数,因此,所有函数都继承了这个方法。

apply的功能是,函数借用。将函数借用给一个对象,帮助他实现函数所定义的逻辑的功能。

如例子:

function ab(x, y) {
this.x = x;
this.y = y;
}
ab.prototype.move = function (x, y) {
this.x += x;
this.y += y
}
var c = new ab(1, 1);
console.log(c);
c.move(2, 2)
console.log(c);
p = {x: 0, y: 0, z: 0}
console.log(p);
c.move.apply(p, [5, 5]) //在这步,ab的实例c将move方法提供给了p,参数是数组
console.log(p);

输出结果为:

ab {x: 1, y: 1}

ab {x: 3, y: 3}

Object {x: 0, y: 0, z: 0}

Object {x: 5, y: 5, z: 0}

注:如果c中没有y,那么在

本文前端(javascript)相关术语:javascript是什么意思 javascript下载 javascript权威指南 javascript基础教程 javascript 正则表达式 javascript设计模式 javascript高级程序设计 精通javascript javascript教程

主题: JavaScriptJava博客供给
分页:12
转载请注明
本文标题:从零开始学JavaScript系列(29):apply和call
本站链接:http://www.codesec.net/view/481578.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 前端(javascript) | 评论(0) | 阅读(37)