传递原型方法

时间:2015-09-30 18:25:09

标签: javascript prototype

昨天,我问了这个问题:Passing a method for later evaluation并认为它就像传递原型方法一样简单,而不是在访问后立即调用它,将this重置为Window。但是,今天我今天遇到了这个代码:

sSharing.shareFileWithGroup( node, groupId,  d.resolve, d.reject ); //d is a Angular promise

当shareFileWithGroup在其主体中调用其第3或第4个参数时,它正确调用先前传递给d.then的任何函数,即传递的方法可以找到它所访问的原始对象。调用原型方法时设置this的规则究竟是什么?这两种情况似乎不一致。

编辑:我的理解是传递的方法d.resolve/reject不应该能够调用先前作为.then的参数传递的函数,但确实如此。我的问题是它是如何做到的?我唯一能想到的是,如果将promises内置到JS中,或者方法实际上并没有使用原型,而是直接放入构造的对象中。

0 个答案:

没有答案