阅读highstock源代码,但混淆了以下代码:
textLineHeight = textStyles && textStyles.lineHeight,
wrapper.height = (height || bBox.height || 0) + 2 * padding;
cHeight = (old && chart.oldChartHeight) || chart.chartHeight;
由于
答案 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中被称为默认运算符,因为它允许指定一个值,以便在左侧的表达式为假时使用。