【发布时间】:2016-03-11 20:41:17
【问题描述】:
假设我有很长的 jquery 方法链,并且想要根据一些布尔条件添加对两种方法之一的额外调用(例如 show 或 hide)。
有两种方法:
1) 点表示法:将方法链存储在一个变量中,然后使用该变量调用额外的方法(由if...else 构造或三元运算符解析)使用点符号。
代码:
var $tmp = $el._long_()._method_()._chain_();
if (condition) $tmp.show();
else $tmp.hide();
2) 方括号表示法:使用方括号表示法附加额外的方法调用(由三元运算符解决)。
代码:
$el._long_()._method_()._chain_()[condition? 'show' : 'hide']();
我曾经使用第一个,尤其是在其他地方使用$tmp 变量时。但第二种方式似乎更简洁,但可读性较差。
对于这种情况,最好的选择是什么?
【问题讨论】:
标签: javascript jquery chaining