表达式和语句
一段能产生值的代码叫表达式。任何以字面形式写出来的代码(如“John”,233,)都是表达式。表达式可被括号括起来,仍然是表达式,比如使用二元或者一元操作符的表达式就是这样的。
表达式就像句子中的短语,语句就像是完整的句子,程序就是一系列的语句。
最简单的语句是一个表达式接一个分号:
1;
!false:
表达式可以产生一个值,然后被包裹他的表达式所使用。只有当语句能“影响世界”他们才是独立的,它可以让屏幕显示一些东西,这叫做“改变世界”,或者它可以改变机器内部的状态,影响其后的语句,这叫做“副作用(side effect)”。
变量
变量可以用来获取或存储值。变量的名字可以用于表达式。
var ten = 10;
console.log(ten * ten);
// → 100
变量名可以用数字,但不能以数字开头,不能用特殊符号,但可以用$,_。
变量就像是触手而不是盒子,它可以“抓住”一个值,而不是“包含”一个值。两个变量可以抓住同一个值。
如果你定义了一个没有赋值的变量,访问这个变量将会得到“undefined”
保留字
保留字不能用于变量名。
环境
当前时间下的变量集合和他们的值叫“环境”。当程序运行后,环境会包含一些程序标准变量和系统变量,如在浏览器中,会有变量和函数监视当前载入的网页和鼠标与键盘的输入。
函数
函数是一系列的程序被包裹进了一个值中。这个值可以被调用以便执行程序。比如在浏览器中,alert变量包含了一个显示窗口的函数。
alert("Good morning!");
执行一个函数也叫invoking,calling,applying它。给函数的值叫做参数,arguments。
返回值
显示一个对话框或者输出值叫做副作用,很多函数被大量使用是因为他们所拥有的副作用,然而有些函数并不需要这类的副作用。比如Math.max函数,它能计算任意数量的数值型的值,并且返回最大的值。
console.log(Math.max(2, 4));
// → 4
当一个函数能够产生一个值,则叫返回值,在Javascript中任何能够产生值的代码都叫表达式,这意味着函数调用可以被用于更大表达式。这是一个Math.min函数用于加操作的输入的例子:
console.log(Math.min(2, 4) + 100);
// → 102
提示与确认
confirm函数能够返回布尔类型的值,可以询问用户确认或取消。
prompt("Tell me everything you know.", "...");
流程控制
当我们想在一个循环体中执行多条语句时,可以用花括号括起来,花括号对于语句就像括号之于表达式。花括号括起来的代码叫做block。
while循环
var result = 1;
var counter = 0;
while (counter < 10) {
result = result * 2;
counter = counter + 1;
}
console.log(result);
// → 1024
do循环
do {
var name = prompt("Who are you?");
} while (!name);
console.log(name)
do循环和while区别是,前者至少执行一次。
对一个值使用!操作符,会先将其转换成布尔型,然后再计算,除了“”,所有字符都将被转换成true;
for循环
跳出循环
for (var current = 20; ; current++) {
if (current % 7 == 0)
break;
}
console.log(current);
// → 21
continue与break机制类似,它跳过循环体,直接继续下一次循环的迭代。
更新变量的方式
update=update+1;
update+=1;
update++;
switch语句快速处理值
switch是从C、java继承的语法,但是有一点“拙劣”,通常嵌套的if语句更好。
每一个case都需要break,如果没有break,则后面的case都会被执行,这点可以用来执行多个条件下的代码。
switch (prompt("What is the weather like?")) {
case "rainy":
console.log("Remember to bring an umbrella.");
break;
case "sunny":
console.log("Dress lightly.");
case "cloudy":
console.log("Go outside.");
break;
default:
console.log("Unknown weather type!");
break;
}
大小写
驼峰式变量名,构造函数第一个字母也大写。
注释
单行注释和多行注释
总结
环境是程序定义的一系列变量的集合,通常包含标准变量。函数是封装的特殊类型变量,函数调用也是表达式,可以包含在更大的表达式当中,并且可以产生值。