&& 和 || 是做什么的意思是在下面的代码中
what do && and || mean in the following code
正在阅读 highstock 源代码,但混淆了以下代码:
textLineHeight = textStyles && textStyles.lineHeight,
wrapper.height = (height || bBox.height || 0) + 2 * padding;
cHeight = (old && chart.oldChartHeight) || chart.chartHeight;
谢谢
textLineHeight = textStyles && textStyles.lineHeight;
表示如果 textStyles
是真实的并且它有一个 属性 lineHeight
也是真实的,则将 textLineHeight
设置为 textStyles.lineHeight
。
&&
通常被称为 JavaScript 中的守卫运算符,因为它的短路求值确保 textStyles.lineHeight
不会被求值,除非 textStyles
被定义。如果确实未定义,这可以避免错误。
wrapper.height = (height || bBox.height || 0) + 2 * padding;
在这里,||
表示如果为真则使用 height
否则如果为真则使用 bBox.height
,如果两者都不为真则最后回退到 0
。 ||
通常被称为 JavaScript 中的默认运算符,因为它允许指定一个值,以防其左侧的表达式为假。
正在阅读 highstock 源代码,但混淆了以下代码:
textLineHeight = textStyles && textStyles.lineHeight,
wrapper.height = (height || bBox.height || 0) + 2 * padding;
cHeight = (old && chart.oldChartHeight) || chart.chartHeight;
谢谢
textLineHeight = textStyles && textStyles.lineHeight;
表示如果 textStyles
是真实的并且它有一个 属性 lineHeight
也是真实的,则将 textLineHeight
设置为 textStyles.lineHeight
。
&&
通常被称为 JavaScript 中的守卫运算符,因为它的短路求值确保 textStyles.lineHeight
不会被求值,除非 textStyles
被定义。如果确实未定义,这可以避免错误。
wrapper.height = (height || bBox.height || 0) + 2 * padding;
在这里,||
表示如果为真则使用 height
否则如果为真则使用 bBox.height
,如果两者都不为真则最后回退到 0
。 ||
通常被称为 JavaScript 中的默认运算符,因为它允许指定一个值,以防其左侧的表达式为假。