javascript - 如何制作更短且可读的比较/逻辑线来分配默认值?在 jQuery/JavaScript 中?

标签 javascript jquery comparison logical-operators

考虑常规函数内部底部的代码,该代码检查是否提供了某个参数,并将默认值分配给名为 message 的变量。如果参数为真或空字符串,则将其简单地转换为字符串并存储在消息变量中,否则参数的类型将存储在消息中。 我知道可以缩短 if else 语句来为变量分配默认值,例如:

var message = arguments[0] || jQuery.type(arguments[0]);

如果只有参数[0]为真,则会将其存储在消息中。但是如何在不使用很长的 if else 语句的情况下对作为假值的空字符串进行异常(exception)处理?

if(arguments[0] || arguments[0] === '')
    var message = arguments[0].toString();
else
    var message = jQuery.type(arguments[0]);

最佳答案

var message = ((arguments[0] || arguments[0] === '') ? arguments[0].toString() : jQuery.type(arguments[0]));

关于javascript - 如何制作更短且可读的比较/逻辑线来分配默认值?在 jQuery/JavaScript 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17840901/

相关文章:

javascript - Jquery onclick 似乎阻止了复选框检查

javascript - 测试动态创建的字符串

javascript - 为什么这段代码中的一个变量大于另一个?

java - 检查 ArrayList 是否包含来自另一个 ArrayList 的所有元素

javascript - 检测字符串中是否存在确切的数字

javascript - Google map (V3) InfoWindow 无法正确调整大小

javascript - 使用 Pentaho/JavaScript 制作带条件的标志

javascript - 由于 MIME 类型不匹配,功能被阻止(X-Content-Type-Options : nosniff)

javascript - 更改 mousedown javascript 的范围值?

javascript - 在 jQuery 中包装生成的元素