石锅拌饭

在Firefox中实现以函数形式访问Array中元素

by Robin Lu on Apr.13, 2005, about ,

有些IE支持的东西,你在msdn里也找不到.
IE支持javascript以函数的形式访问数组中的元素,比如a是一个数组,通常访问其中元素的方法是a[n],在IE里,你也可以用a(n).msdn中javascript/jscript的章节没说你可以这么用,实际上这是一个vbscript的功能.不知道这是因为脚本引擎共享代码造成的bug,还是专门为了讨好VBer.
以前以为要在Gecko中实现这个功能会比较难,前两天研究了一下 Gecko 的 javasript 引擎spidermonkey 以及 javascript object 和 C++ Object 的关系, 发现实际上每个 javascript object 都有一个可选的 Call 接口,这也不奇怪,每个 function 在 javascript 里都是一个 object .所以剩下的事情就是为 nsDOMClassInfo 里的 nsArraySH 和 nsNamedArray 都实现这个接口就可以了.整个补丁只增加了一百来行就搞定了.

Technorati Tags: ,

:,

Comments are closed.

Search

Archives

Browse by tags

agile apple blog book design ecto extension firefox git google hack ichm iphone keyword life mac madfox movie nonsense opensource plugin pm ruby rubyonrails sns software startup wordpress work 财帮子