函数参数列表中的赋值Javascript

问题描述:

这是有效的JS吗?它运行,但想知道这是否是一个浏览器的怪癖。我知道它可能很糟糕的做法,因为它令人困惑但仍然是一个很酷的概念。函数参数列表中的赋值Javascript

showClickMask : function showClickMask(callback){ 

     (function(mask){ 
      mask.addClass('open'); 
      mask.click(function(){RAV.closeClickMask(mask,callback);}); 
     })(showClickMask.mask = showClickMask.mask || $('#click-mask')); 

    }, 

是的,这是有效的,符合标准的JavaScript。赋值是一个表达式,并“返回”被赋值的值。

(无论你认为它是不错的风格是另一个问题!)

+0

谢谢;如果我是唯一一个使用图书馆的人,我认为这很好,但如果与一个团队合作,这可能是一个蠢货。 – JackMahoney 2013-04-23 08:01:28