2010-06-21 61 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 + recipientgreeting += "Earthlings"认为,当他们将两串一样,其表达例如"Dr." + " " + "Pepper"

非常感谢

表达

回答

1

因为语句可以包含表达式。

语句是任何一套声明,方法和功能 调用和表达是 执行一些动作

+0

@贾斯汀 - 感谢您的回应。我明白,一个陈述可以包含为什么称呼+接受者一个陈述和“博士” +“胡椒”一个表情?他们都在一起添加字符串。 – screenm0nkey 2010-06-21 12:15:09

+1

@尼克洛曼:表达是一个陈述。表达式是一种陈述。他们不是*独家*类别。 – 2010-06-21 12:16:28

+0

@ S.Lott - 谢谢你。 – screenm0nkey 2010-06-21 12:21:04

1

我认为首先是一个错误,我怀疑作者的意思键入+=而不仅仅是+。第二个是语句,因为它的简写

greeting = greeting + "Earthlings"

,并要指定字符串连接(表达)的结果返回给原来的变量(这使得它的声明)。

+0

这一切都有道理,现在谢谢 – screenm0nkey 2010-06-21 12:22:41