條件語句(簡單點看,記住下面的就行了):
if(條件){
//執(zhí)行代碼塊
}
if(條件){
//執(zhí)行代碼塊 }
else{
//執(zhí)行代碼塊
}
if(條件){
//執(zhí)行代碼塊
}
else if(條件){
//執(zhí)行代碼塊}
else{
//執(zhí)行代碼塊
}
switch(n){
case 1://滿足n===1
//執(zhí)行代碼塊1
break;
case 2:滿足n===2
//執(zhí)行代碼塊2
break;
default://都不滿足
//執(zhí)行代碼塊3
break;
}
循環(huán)語句:
while:
var count = 0;
while(count<10){
csonsole.log(count);
count++
}//輸出0~9
do/while://先執(zhí)行,再判斷。至少執(zhí)行一次
function printArrary(a){
var len =a.length,i=0;
if(len == 0)
console.log("empty arrary");
else {
do {
console.log(a[i]);
}while(++i<len);
}
}
for://簡單的循環(huán)
for(var count=0,count++,count<10){
consloe.log(count);
}//輸出0~9
for/in://用于遍歷,但一般不建議用
for(變量 in 對象){
//執(zhí)行代碼
}
ECMAScript規(guī)范并沒有指定for/in循環(huán)按照何種順序來枚舉對象屬性。但實際上,主流瀏覽器廠商的JavaScript實現(xiàn)是按照屬性定義的先后順序來枚舉簡單對象的屬性,先定義的屬性先枚舉。如果使用對象直接量的形式創(chuàng)建對象,則將按照直接量中屬性的出現(xiàn)順序枚舉。有一些網(wǎng)站和Javascript庫是依賴于這種枚舉順序的,瀏覽器廠商不大可能會修改這個順序。
Javascript解釋器枚舉“簡單”對象一種交互的屬性枚舉順序。在下列情況下,枚舉的順序取決于具體的實現(xiàn)(并且是非交互的):
對象繼承了可枚舉屬性;
對象具有整數(shù)數(shù)組索引的屬性;
使用delete刪除了對象已有的屬性;
使用object.definePropery()或者類似的方法改變了對象的屬性。
除了所有非繼承的“自有”屬性以外的繼承屬性都往往是可枚舉的,而且可以按照它們定義的順序進行枚舉。
如果對象屬性繼承自多個“原型”,也就是說它的原型鏈上有多個對象,那么鏈上面的每一個原型對象的屬性的遍歷也是依照特定順序執(zhí)行的。
Javascript的一些實現(xiàn)依照數(shù)字順序來枚舉數(shù)組屬性,而不是某種特定的順序。但當數(shù)組元素的索引是非數(shù)字或數(shù)組是稀疏數(shù)組(數(shù)組索引是不連續(xù)的)時它們則按照特定順序枚舉。
跳轉(zhuǎn)(js的執(zhí)行從一個位置跳轉(zhuǎn)到另一個位置):
標簽語句:
通過給一個語句加標簽,就可以給這個語句起一個名字,這樣在程序的任何地方都可以使用這個名字來引用它,可以標記任何語句,
但是被標記的語句通常是那些循環(huán)語句,即while、do/while、for和for/in語句,通常給循環(huán)命名,就可以使用break語句和continue語句來
退出循環(huán)或者循環(huán)的某一次迭代。
如:
<script type="text/javascript">
outerloop:
for (var i = 0; i < 10; i++)
{
innerloop:
for (var j = 0; j < 10; j++)
{
if (j > 3)
{
break;
}
if (i == 2)
{
break innerloop;
}
if (i == 4)
{
break outerloop;
}
document.write("i=" + i + " j=" + j + "<br>");
}
}
</script>
break:立即退出最內(nèi)層循環(huán)或switch語句
continue:結(jié)束此次循環(huán),轉(zhuǎn)而執(zhí)行園藝場循環(huán)
return:指函數(shù)調(diào)用后返回的值,執(zhí)行到return時,函數(shù)終止執(zhí)行,并將值返回給程序,通常return語句只在函數(shù)內(nèi)體現(xiàn)。通常return后加語句,也不是一定的
throw語句:
拋出異常,就是有錯誤了,就用它把錯誤拋出來
function factorial(x){
//如果輸入?yún)?shù)不符合判斷,就拋出異常
if (x<0) throw new Error(“x不能是負值”);
//否則,計算出一個值,并正常返回它
for (var f=1;x>1;f*=x,x--)/*empty*/
return f;
}
try
{
//在此運行代碼
}
catch(err)
{
//在此處理錯誤
}
try{ //正常執(zhí)行 }
catch(e/你感覺會出錯的 錯誤類型/)
{
// 可能出現(xiàn)的意外 eg:用戶自己操作失誤 或者 函數(shù)少條件 不影響下面的函數(shù)執(zhí)行
// 有時也會用在 比如 focus() 但可惡的ie有可能會第一次沒有focus事件 再讓他執(zhí)行一次
// 有時一些不是bug的bug 在ie上 他要求必須加上 catch 哪怕就一個空catch
}
with語句:是用來給對象添加多個屬性的,語法如下
with(objInstance)
{
var str = 屬性1;
.....
} 去除了多次寫對象名的麻煩。
3)舉例
<script language="javascript">
<!--
function Lakers() {
this.name = "kobe bryant";
this.age = "28";
this.gender = "boy";
}
var people=new Lakers();
with(people)
{
var str = "姓名: " + name + "<br>";
str += "年齡:" + age + "<br>";
str += "性別:" + gender;
document.write(str);
}
//-->
</script>
代碼執(zhí)行效果如下:
姓名: kobe bryant
年齡:28
性別:boy
在嚴格模式中禁止使用with,所以盡量別用。