Я пришел в этот код, но я не очень хорошо понимаю, что он делает ..Что возвращает void 0 === i && (i = 3), 0 === i? (..A ..): (..B ..) делаю?
test.update = function(i)
{
return void 0 === i && (i = 3), 0 === i ? (..A..) : (..B..)
}
(..A ..) и (..B ..) просто другие строки кода, который я гавань 'т.
Предположим, что если i
будет иметь значение 0, то функция вернется?
Что означает «void 0 === i & & (i = 3)« делать? Специально (i = 3)
. Означает ли это, что if (void 0 === i)
является истинным и i
может получить 3, i
будет 3? А как насчет запятой? Я проверил это question, но я все еще не понимаю.
Извините за столько вопросов, но я хотел бы получить полный ответ, чтобы я мог полностью понять, что происходит.
Спасибо
Я думаю, он просто выполняет '(..B ..)' блок операторов независимо от 'проходится i' значение. – pttsky
'void 0 === i' похоже, проверяет,' '' '' undefined'. 'i = 3' устанавливает' i' в число 3, когда 'i' не определено. – evolutionxbox
'0 === i' проверяет,' '' '' 0', а затем выполняет либо '(..A ..)', либо '(..B ..)'. В этом возврате используется [запятая] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comma_Operator) и [тройные операции] (https://developer.mozilla.org/ ан/Docs/Web/JavaScript/Справочник/Операторы/Conditional_Operator). – evolutionxbox