做什么&&和||在以下代码中表示

时间:2016-05-30 03:51:44

标签: javascript highcharts highstock

阅读highstock源代码,但混淆了以下代码:

textLineHeight = textStyles && textStyles.lineHeight,

wrapper.height = (height || bBox.height || 0) + 2 * padding;

cHeight = (old && chart.oldChartHeight) || chart.chartHeight;

由于

1 个答案:

答案 0 :(得分:3)

textLineHeight = textStyles && textStyles.lineHeight;

表示textLineHeight设置为textStyles.lineHeight,如果textStyles是真实的,并且它的属性lineHeight也是真实的。

&&在JavaScript中通常被称为保护运算符,因为它的短路评估可确保除非定义textStyles.lineHeight,否则不会评估textStyles。如果确实可能未定义错误,则可以避免错误。

wrapper.height = (height || bBox.height || 0) + 2 * padding;

此处,||表示使用height如果它是真实的,否则使用bBox.height如果这是真的,最后如果两者都不真实,则回退到0||通常在JavaScript中被称为默认运算符,因为它允许指定一个值,以便在左侧的表达式为假时使用。

相关问题