我一直在写JS,我一直在试图调试IE7兼容性的jQuery jCarousel插件。很多变量会被混淆,这是确定的,但我从来没有见过的语法是这样的:任何人都可以从jCarousel解释下面的JavaScript代码吗?
scroll: function (a, c) {
!this.locked && !this.animating && (this.pauseAuto(), this.animate(this.pos(a), c))
}
这似乎是某种速记符号的,但我从来没有碰到过这样的事。
同样,
for (var a = function (a) {
i.get(a).each(function() {
h(i, this, a, b, c)
})
}, k = d; k <= f; k++) {
k !== null && !(k >= j && k <= e) && a(k)
}
我从来没有见过的功能被指定为迭代器,并再次块语句里面看起来像第一个例子。我知道,当我们编写代码时,我们都努力保存几个字节,但对我来说,这种狂热的尝试是以对其他程序员完全混淆和困惑为代价的。任何人都可以给我一个简单的“长期”替代/彻底解释发生了什么?我总是想知道更多关于这种语言以及它是如何工作的,谢谢。
可以肯定的是,赋值给var a的函数中的参数是var a的一个先前声明的实例,对吗? – danronmoon 2012-04-20 16:11:15
@moonDogDog:不,在函数中'a'将是传递的参数(在这种情况下'a(k)'在'for'循环中运行,所以在函数'a'内部将是'k ')。 – Matt 2012-04-20 16:13:54