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