call和apply的使用和区分
来源:互联网 发布:手机淘宝提示木马病毒 编辑:程序博客网 时间:2024/06/10 01:46
一行经典的代码展示区别:
foo.call(this, arg1,arg2,arg3) == foo.apply(this, arguments)==this.foo(arg1, arg2, arg3)
call, apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,所以每个Function对象实例,也就是每个方法都有call, apply属性.既然作为方法的属性,那它们的使用就当然是针对方法的了.这两个方法是容易混淆的,因为它们的作用一样,只是使用方式不同.
那什么是方法产生的作用,方法传递的参数是什么呢?
我们就上面的foo.call(this, arg1, arg2, arg3)展开分析.
foo是一个方法,this是方法执行时上下文相关对象,arg1, arg2,
arg3是传给foo方法的参数.这里所谓的方法执行时上下文相关对象,
如果有面向对象的编程基础,那很好理解,就是在类实例化后对象中的this.在JavaScript中,代码总是有一个上下文对象,代码处理该对象之内. 上下文对象是通过this变量来体现的,
这个this变量永远指向当前代码所处的对象中.
0 0
- call和apply的使用和区分
- 区分call和apply
- call 和 apply 的使用
- JavaScript中apply和call的使用
- apply()和call()、bind()的使用介绍
- 关于call和apply的使用
- JavaScript中call和apply的使用
- call 和 apply 的使用讨论
- apply、call的区别和使用
- 如何使用call和apply
- CALL 和 APPLY 的学习
- call和apply的异同
- javascript的call()和apply()
- apply和call的用法
- javascript的call和apply
- apply 和call的用法
- apply 和call的用法
- call和apply的区别
- 在Eclipse添加Android兼容包( v4、v7 appcompat )
- discuss+标准体重计算器
- HTTP Status 500 -
- XMPP使用(1)
- 总结Oracle,MySql,SQLServer的分页查询总结
- call和apply的使用和区分
- samba映射文件和linux文件不一致, 什么鬼?
- 分苹果问题
- pythoncookbook深入挖掘------------访问者模式
- Java枚举类Enum方法简介
- 在可编辑的div中将光标移到最后
- OA自动办公系统学习
- 线程的中断-----使用线程对象的interrupt()方法
- html中a标签锚点定位的运用