|
實現功能估計貌似于這樣:
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
代碼運行到 test() 后,要調用已經寫好的方法 E() 并傳遞 2 個參數
一個就是所謂對象的 ju 、 另一個就是一個才寫的函數
然后把這兩個參數傳遞到了 E() 方法,當然,E()方法已經在等參數了
當他等到了許久不見的參數的時候會怎么做呢...(待續)
續簡介:
上回說到 E() 方法見到了許久不見的參數 ju 和 一個函數
當然 E() 做為這兩個參數的傳遞執行方法,就叫了兩個小弟(變量 a, b)
來把他們的一切都引用了,此時
a = ju
b = function(b)
{
b(a);
if(a == "gyyy.")
{
b("G");
}
}
然后又 var c = C(a); 讓 小弟(變量c) 得到了 a ,也就是 a 引用的 ju 長度
然后照著這個長度執行 小弟b 引用的那個傳遞到 E() 方法的函數
并傳遞 2 個參數給那個函數
一個就是 a[d],另一個就是d
然后呢,開始執行小弟 b ,現在這個小弟 b 就是一開始傳遞到 E() 方法的函數
而那個傳遞到 E() 方法中的函數接受一個參數 如右所示: function(b) { ... }
而現在執行的函數中的 b 是從E()方法傳遞過來的 a[d]
也就是說呢:您出錯的地方就是在 傳遞的a[d]上吧, 執行 b(a)的時候,a是由 test()一開始傳遞的
而執行的 b(a) 這個b() 就是從下面個 E 傳遞上來的 a[d]
也就是說 a[d] 其實是一個方法
我猜想 ju 應該是一個包含許多方法的數組
原理就像這個一樣吧,很麻煩的東西,只是為了得到 a 的訪問權限
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
JavaScript技術:js另類寫法,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。