六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 36|回复: 0

javascript 中 apply 方法的使用

[复制链接]

升级  69%

123

主题

123

主题

123

主题

举人

Rank: 3Rank: 3

积分
407
 楼主| 发表于 2013-1-29 08:38:19 | 显示全部楼层 |阅读模式
在看 backbone 的 todos 例子时,有一行代码,如下:
 
this.without.apply(this, this.done()); 
一开始怎么也不理解这句话的含义。后来看了一些网上的解释,还是半懂不懂的。今天再次看到它的时候,把JAVA里的反射跟它联系了一下,感觉有点像,然后,再回过头去看看网上的那些解释,感觉有点懂了。
如果把上面一句写成下面这个样子的话,可能更好理解一些:
 
this.without(this.done()) 
其中,第一个this就相当于上面apply函数中的第一个参数。
 
有人可能会问,既然可以写成下面这个样子,那为什么还要写成上面那个?请看下面这行代码:
 
ClassA.without.apply(ClassB, ClassB.done()); 
这下看明白了吧,without 这个方法可能是定义在别的类中的,所以无法通过  ClassB.without()来引用。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表