实现功能估计貌似于这样: 
  [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需刷新才能执行]