当前位置: 首页 > 图文教程 > 网络编程 > Javascript > js另类写法

Javascript
JMenuTab简单使用说明
简单的JS多重继承示例
js另类写法
javascript cookie解码函数(兼容ff)
Javascript的一种模块模式
详解new function(){}和function(){}() 区别分析
YUI 读码日记之 YAHOO.lang.is*
用JS得到字符串中出现次数最多的字母
YUI 读码日记之 YAHOO.util.Dom - Part.1
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.2 0
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.3
javascript YUI 读码日记之 YAHOO.util.Dom - Part.4
利用js对象弹出一个层
js用图作提交按钮或超连接
通过 Dom 方法提高 innerHTML 性能
javascript 通用滑动门tab类
二行代码解决全部网页木马
JavaScript的面向对象方法以及差别
悟透JavaScript整理版
try finally 妙用,防止内存泄漏

Javascript 中的 js另类写法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 90 ::
收藏到网摘: n/a

ju 应该是一个定义了各种方法对象 function(b) 的 b 就是 b(a[d], d) 中的参数 a[d] C 是统计方法数量的函数
实现功能估计貌似于这样:
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

代码运行到 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 全选 提示:你可先修改部分代码,再按运行]