首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

各JS发动机对Function.prototype.apply第二个参数的实现差异

2012-11-25 
各JS引擎对Function.prototype.apply第二个参数的实现差异每个function都有个apply方法,该方法有两个作用:

各JS引擎对Function.prototype.apply第二个参数的实现差异

每个function都有个apply方法,该方法有两个作用:
1,改变function的执行上下文(第一个参数非null,undefined等)
2,执行/调用该function (见:http://snandy.iteye.com/blog/420000)

apply方法第二个参数一般认为被实现为数组,见经典的《javascript权威指南-第五版》中章节8.6.4,145页一句:

var obj = {0:'zero',1:'one',length:2,constructor:Array}function fun(){alert(arguments[0]);}fun.apply(null,obj);

?

即使obj看起来已经很象一个数组了,但除了Opera正常运行,仍然欺骗不了IE/Firefox/Chrome/Safari,看来只有Opera与众不同。

?

?

?

1 楼 ciznx 2012-03-08   好文章,分析得细致入理。

热点排行
Bad Request.