jQueryの透かしプラグインを使用して、関数をjslintして最小化しようとしていますが、実際に割り当てまたは関数呼び出しが必要な式がある、これまでに見たことのない構文に出くわしました:
(function($) {
$.fn.watermark = function(css, text) {
return this.each(function() {
var i = $(this), w;
i.focus(function() {
w && !(w=0) && i.removeClass(css).data('w',0).val('');
})
.blur(function() {
!i.val() && (w=1) && i.addClass(css).data('w',1).val(text);
})
.closest('form').submit(function() {
w && i.val('');
});
i.blur();
});
};
$.fn.removeWatermark = function() {
return this.each(function() {
$(this).data('w') && $(this).val('');
});
};
})(jQuery);
私は特に次の行に興味があります。
w && !(w=0) && i.removeClass(css).data('w',0).val('');
と
!i.val() && (w=1) && i.addClass(css).data('w',1).val(text);
誰かがこの速記を説明し、これらの関数を比較して自分で速記をよりよく理解できるように書き直すことができますか?
ありがとうございました。