2016-05-30 17 views
-3

источника Чтение highstock кодов, но путать следующие коды:Что делать && и || означает в следующем коде

textLineHeight = textStyles && textStyles.lineHeight, 

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

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

Благодарности

+0

яваскрипт и (&&) оператор & или (||) Оператор http://www.w3schools.com/js/js_operators.asp – brk

+0

@ user2181397, он спрашивает "в следующем коде" – slick

+0

@slick, операторы изменения Что касается кода, это то, что вы имеете в виду? – SilentMonk

ответ

3
textLineHeight = textStyles && textStyles.lineHeight; 

средства, установленные textLineHeight в textStyles.lineHeight если textStyles является truthy и имеет свойство lineHeight, которое также правдивый.

&& часто упоминается как охранник в JavaScript, поскольку его оценка короткого замыкания гарантирует, что textStyles.lineHeight не будет оцениваться, если не определено textStyles. Это позволяет избежать ошибки, если она действительно не определена.

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

Здесь || означает использование height если truthy иначе использовать bBox.height, если это truthy, и, наконец, возврат к 0, если ни один не truthy. || часто называют оператором по умолчанию в JavaScript, так как он позволяет указать значение для использования в случае, если выражение на его левой стороне является ложным.

Смежные вопросы