2010-06-21 1 views
2

Я нашел этот PDF here и в ней автор описывает выражение, как любой действительный набор литералов, переменных, операторов, вызовы функций и выражений, которые вычисляются в одном значении т.е.Тем не менее путать о JavaScript Выражения и заявления

3 + 7 
3 + 7 + 10 + "" 
"Dr." + " " + "Pepper" 

Это все кажется мне хорошим. Заявление является любым набором деклараций, методов и функций вызовов и выражений, которые выполняют какое-либо действие т.е.

var num = 1 
document.write("hello") 

Но позже они относятся к последней строке приведенных ниже примеров, как заявления

var salutation = "Greetings, " 
var recipient = "Earthlings" 
salutation + recipient //statement 

var greeting = "Greetings, " 
greeting += "Earthlings" //statement 

Почему не salutation + recipient и greeting += "Earthlings" считается выражение, когда они добавляют две строки, как в их выражения, например "Dr." + " " + "Pepper"

Большое спасибо

ответ

1

Поскольку оператор может содержать выражения.

Заявление любое множество деклараций, метод и функции вызовов и выражений что выполняет какое-либо действие

+0

@ Justin - Спасибо за ответ. Я понимаю, что в заявлении могут содержаться выражения, почему приветствие + получатель - заявление и «Доктор» - + «Перец» - выражение? Они оба добавляют строки вместе. – screenm0nkey

+1

@Nick Lowman: выражение - это заявление. Выражение - это одно из выражений. Они не являются * эксклюзивными * категориями. –

+0

@ S.Lott - Спасибо, человек. – screenm0nkey

1

Я думаю, что первая ошибка, я подозреваю, что автор хотел тип += вместо +. Второе утверждение, потому что это сокращение для

greeting = greeting + "Earthlings"

и вы присваиваете результат конкатенации (выражение) назад к исходной переменной (что делает его заявление).

+0

Теперь все это имеет смысл – screenm0nkey

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