5. 操作符
5.1 遞增和遞減操作符
符號(hào)在前,先運(yùn)算,再賦值
符號(hào)在后,先賦值,再運(yùn)算
var num1 = 2;
var num2 = 20;
var num3 = --num1 + num2; //21
var num4 = num1-- + num2; //22
6. 語(yǔ)句
6.1 if語(yǔ)句
if (condition) statement1 else statement2
//強(qiáng)烈建議使用代碼塊
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語(yǔ)句
do{
statement
}while(expression); //expression語(yǔ)句至少執(zhí)行一次
6.3 while語(yǔ)句
while (expression) statement
6.4 for語(yǔ)句
for (initialization; expression; post-loop-expression) statement
6.5 for-in語(yǔ)句
for (property in expression) statement
6.6 label語(yǔ)句
label: statement
6.7 break和continue語(yǔ)句
bread語(yǔ)句會(huì)立即退出循環(huán),continue語(yǔ)句會(huì)退出本次循環(huán),從頭繼續(xù)
break和continue語(yǔ)句都可以與label語(yǔ)句聯(lián)合使用
//break和label語(yǔ)句的結(jié)合
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語(yǔ)句的結(jié)合
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語(yǔ)句
with (expression) statement
with語(yǔ)句的作用是將代碼的作用域設(shè)置到一個(gè)特定的對(duì)象中,定義with語(yǔ)句的目的主要是為了簡(jiǎn)化多次編寫(xiě)用一個(gè)對(duì)象的工作,例如:
var qs = location.search.substring(1);
var hostName = location.hostname;
var url = location.href;
//如果使用with語(yǔ)句
with(location){
var qs = search.substring(1);
var hostName = hostname;
var url = href;
}
6.9 switch語(yǔ)句
switch (expression)
{
case value: statement
break;
case value: statement
break;
case value: statement
break;
case value: statement
break;
default: statement
}
7. 函數(shù)
參數(shù)arguments可以與命名參數(shù)一起使用,例如:
function doAdd(num1, num2)
{
if(arguments.length == 1) // 如果參數(shù)只有1個(gè),會(huì)在參數(shù)值的基礎(chǔ)上面加10
{
alert(num1+10)
}
else if(arguments.length == 2) //如果參數(shù)有2個(gè),兩個(gè)參數(shù)相加
{
alert(arguments[0] + num2);
}
}
- ECMAScript中的基本數(shù)據(jù)類型包括Undefined、Null、Boolean、Number和String
- 與其他語(yǔ)言不同,ECMAScript沒(méi)有為整數(shù)和浮點(diǎn)數(shù)值分別定義不同的數(shù)據(jù)類型,Number類型可以用于表示所有數(shù)值
- ECMAScript中也有一種復(fù)雜的數(shù)據(jù)類型,即Object類型,該類型是這門(mén)語(yǔ)言中所有對(duì)象的基礎(chǔ)類型
- 嚴(yán)格模式為這門(mén)語(yǔ)言中容易出錯(cuò)的地方施加了限制
- ECMAScript提供了很多與C及其他類C語(yǔ)言中相同的基本操作符,包括算數(shù)操作符、布爾操作符、關(guān)系操作符、想等操作符及復(fù)制操作符等
- ECMAScript蔥其他語(yǔ)言中借鑒了很多流控制語(yǔ)句,例如if語(yǔ)句、for語(yǔ)句和switch語(yǔ)句等。ECMAScript中的函數(shù)與其他語(yǔ)言中的函數(shù)有諸多不同之處。
- 無(wú)須指定函數(shù)的返回值,因?yàn)槿魏蜤CMAScript函數(shù)都可以在任何時(shí)候返回任何值
- 實(shí)際上,未指定返回值函數(shù)返回的是一個(gè)特殊的undefined值
- ECMAScript中也沒(méi)有函數(shù)簽名的概念,因?yàn)槠浜瘮?shù)參數(shù)是以一個(gè)包含零或多個(gè)值的數(shù)值的形式傳遞的
- 可以想ECMAScript函數(shù)傳遞任意數(shù)量的參數(shù),并且可以通過(guò)arguments對(duì)象來(lái)訪問(wèn)這些參數(shù)。
- 由于不存在函數(shù)簽名的特性,ECMAScript函數(shù)不能重載