前端學習指南第二天:語句

條件語句(簡單點看,記住下面的就行了):
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,所以盡量別用。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容