我在閱讀源代碼時遇到了問題。代碼示例如下:函數調用函數本身作爲foobar.call(foobar)的目的是什麼?
// ... some code omitted
function p() {var u=new i();this. $Arbiter0=new s(); this.$Arbiter3=[];}
p.prototype.subscribe = function() { ... }
p.call(p) // <-- what is the purpose of this statement?
我是JavaScript新手。我從教科書中讀到,當你使用Function.call(Function)時,它通常意味着借用另一個函數的構造函數,以便做一些代碼重用/繼承的東西。但是,我不確定在這個代碼示例中做什麼的目的,我的意思是,該函數正在調用函數本身?
澄清:
我知道使用Function.call()。我只想知道,做foobar.call(foobar)的好處是什麼?
====
完整的源代碼是如下:在源代碼
https://fbstatic-a.akamaihd.net/rsrc.php/v2/y6/r/USEL5meM70H.js
搜索 'p.call(P)'。該文件中只有一個事件。
====
謝謝。
對不起。我沒有清楚地問清楚。我想問一下調用函數本身的函數有什麼好處? @Dancrumb – user1481096
該函數不調用它自己。它被稱爲,它本身就是體內「this」的價值。至於「爲什麼?」,我以前沒有真正看到過。我不知道這是一種特別常見的模式。不過,這是有效的JS。 – Dancrumb