5. 操作符
5.1 递增和递减操作符
符号在前,先运算,再赋值
符号在后,先赋值,再运算
var num1 = 2;
var num2 = 20;
var num3 = --num1 + num2; //21
var num4 = num1-- + num2; //22
6. 语句
6.1 if语句
if (condition) statement1 else statement2
//强烈建议使用代码块
if (i > 25)
{
alert("Greater than 25.")
}
else if (i < 0){
alert("Less than 0.")
}
else
{
alert("Between 0 and 25, inclusive.")
}
6.2 do-while语句
do{
statement
}while(expression); //expression语句至少执行一次
6.3 while语句
while (expression) statement
6.4 for语句
for (initialization; expression; post-loop-expression) statement
6.5 for-in语句
for (property in expression) statement
6.6 label语句
label: statement
6.7 break和continue语句
bread语句会立即退出循环,continue语句会退出本次循环,从头继续
break和continue语句都可以与label语句联合使用
//break和label语句的结合
var num = 0;
outermost:
for(var i=0;i<10;i++)
{
for(var j=0;j<10;j++)
{
if(i==5&&j==5)
{
break outermost;
}
num++;
}
}
alert(num); //55
//continue与label语句的结合
var num = 0;
outermost:
for(var i=0;i<10;i++)
{
for(var j=0;j<10;j++)
{
if(i==5&&j==5)
{
continue outermost;
}
num++;
}
}
alert(num); //95
6.8 with语句
with (expression) statement
with语句的作用是将代码的作用域设置到一个特定的对象中,定义with语句的目的主要是为了简化多次编写用一个对象的工作,例如:
var qs = location.search.substring(1);
var hostName = location.hostname;
var url = location.href;
//如果使用with语句
with(location){
var qs = search.substring(1);
var hostName = hostname;
var url = href;
}
6.9 switch语句
switch (expression)
{
case value: statement
break;
case value: statement
break;
case value: statement
break;
case value: statement
break;
default: statement
}
7. 函数
参数arguments可以与命名参数一起使用,例如:
function doAdd(num1, num2)
{
if(arguments.length == 1) // 如果参数只有1个,会在参数值的基础上面加10
{
alert(num1+10)
}
else if(arguments.length == 2) //如果参数有2个,两个参数相加
{
alert(arguments[0] + num2);
}
}
- ECMAScript中的基本数据类型包括Undefined、Null、Boolean、Number和String
- 与其他语言不同,ECMAScript没有为整数和浮点数值分别定义不同的数据类型,Number类型可以用于表示所有数值
- ECMAScript中也有一种复杂的数据类型,即Object类型,该类型是这门语言中所有对象的基础类型
- 严格模式为这门语言中容易出错的地方施加了限制
- ECMAScript提供了很多与C及其他类C语言中相同的基本操作符,包括算数操作符、布尔操作符、关系操作符、想等操作符及复制操作符等
- ECMAScript葱其他语言中借鉴了很多流控制语句,例如if语句、for语句和switch语句等。ECMAScript中的函数与其他语言中的函数有诸多不同之处。
- 无须指定函数的返回值,因为任何ECMAScript函数都可以在任何时候返回任何值
- 实际上,未指定返回值函数返回的是一个特殊的undefined值
- ECMAScript中也没有函数签名的概念,因为其函数参数是以一个包含零或多个值的数值的形式传递的
- 可以想ECMAScript函数传递任意数量的参数,并且可以通过arguments对象来访问这些参数。
- 由于不存在函数签名的特性,ECMAScript函数不能重载