Javascript 传递原型方法

Javascript 传递原型方法,javascript,prototype,Javascript,Prototype,昨天,我问了一个问题:我认为这就像传递一个原型方法一样简单,而不是在访问后立即调用它,将这个重置为窗口。但是,今天我遇到了以下代码: sSharing.shareFileWithGroup( node, groupId, d.resolve, d.reject ); //d is a Angular promise 当shareFileWithGroup调用其正文中的第3个或第4个参数时,它会正确调用以前传递给d的任何函数。然后,即传递的方法可以找到访问它的原始对象。调用原型方法时,设置此的

昨天,我问了一个问题:我认为这就像传递一个原型方法一样简单,而不是在访问后立即调用它,将
这个
重置为
窗口。但是,今天我遇到了以下代码:

sSharing.shareFileWithGroup( node, groupId,  d.resolve, d.reject ); //d is a Angular promise
当shareFileWithGroup调用其正文中的第3个或第4个参数时,它会正确调用以前传递给
d的任何函数。然后
,即传递的方法可以找到访问它的原始对象。调用原型方法时,设置此
的具体规则是什么?这两种情况似乎不一致


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

该链接的可能重复意味着传递的承诺方法将无法调用
。然后
函数参数,我上一个问题的答案也是如此。编辑了我的问题,以便更清楚地说明我的困惑。“调用原型方法时设置
this
的具体规则是什么?”没有特别的规则。此
所指的内容取决于函数的调用方式。请看。请看我的编辑。当只传入Promise的原型方法时,如何正确地解决Promise?它不应该正确设置
this
,并且没有最初访问它的承诺的内存。你怎么会认为
d.resolve
来自原型?
d.hasOwnProperty('resolve')
说了什么?