函数参数列表中的赋值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。赋值是一个表达式,并“返回”被赋值的值。
(无论你认为它是不错的风格是另一个问题!)
谢谢;如果我是唯一一个使用图书馆的人,我认为这很好,但如果与一个团队合作,这可能是一个蠢货。 – JackMahoney 2013-04-23 08:01:28