黑马程序员技术交流社区

标题: call和apply方法 [打印本页]

作者: 吴永飞    时间: 2012-4-5 15:07
标题: call和apply方法
本帖最后由 吴永飞 于 2012-4-7 18:17 编辑

JavaScript中有一个call和apply方法,其作用基本相同,但也有略微的区别,请问区别是什么啊??
作者: 曾驰文    时间: 2012-4-5 15:19
相同点:两个方法产生的作用是完全一样的

不同点:方法传递的参数不同

那什么是方法产生的作用,方法传递的参数是什么呢?

我们就上面的foo.call(this, arg1, arg2, arg3)展开分析.

foo是一个方法,this是方法执行时上下文相关对象,arg1, arg2, arg3是传给foo方法的参数.这里所谓的方法执行时上下文相关对象, 如果有面向对象的编程基础,那很好理解,就是在类实例化后对象中的this.

作者: 张静慈    时间: 2012-4-5 16:24
应用某一对象的一个方法,用另一个对象替换当前对象。
它们两个方法的第一个参数都是要使用该方法的那个对象,第二个参数略有不同(call可以接受的参数是5,10这样的,apply接受参数可以是数组[5,10])




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2