javascript条件对象的文字属性?

时间:2014-01-19 11:09:49

标签: javascript jquery

以下是来自jquery的一些源代码,即来自处理动画的函数jQuery.speed:

jQuery.speed = function( speed, easing, fn ) {
  var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
    complete: fn || !fn && easing || jQuery.isFunction( speed ) && speed,
    duration: speed,
    easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
  };

  /*SOME OTHER CODE*/

};

“opt”定义发生了什么?我得到第一行说“opt等于:如果速度是一个对象,则速度扩展,或者如下定义的新对象”。但是,例如,对象文字中“完整”的属性定义呢?我知道有三个条件,但它似乎并没有说明如果满足任何条件会发生什么。据我所知,它说“如果fn存在,则完成= fn;否则,如果没有fn但存在缓和,则完成=缓动(但为什么?);否则,如果速度是函数,则完全等于速度(再次,它在哪里指定速度)?“这三个属性定义对我来说非常混乱。

0 个答案:

没有答案