日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript中的运算符和语句

發布時間:2024/7/19 javascript 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript中的运算符和语句 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、JavaScript的運算符

  

  a、基本的算術運算符(+、-、*、/、%)

  -、*、/、%運算符會在必要的時候將操作數轉換為數字,無法轉換成數字的操作數將會轉換成NaN,相應的運算結果也是NaN。

  JavaScript中所有的數都是浮點型的,所以除法的運算結果也是浮點型的。5/2=2.5;

  %運算符返回結果符號與被除數一致。-5%2=-1;5%-2=1

  二元加法運算符可以對兩個數字做加法運算,也可以連接字符串。兩個操作數中只要一個是字符串或者可以轉換是可以轉成字符串的對象,則進行字符串連接。

  兩個操作數中有一個為對象時,日期對象通過toString()方法轉換到原始值然后進行字符串連接。其他對象通過先valueOf()、toString()方法得到原始值和另一個操作數結合。 

1 console.log(1+2+'2');//"32" 2 console.log(1+(2+'2'));//"122" 3 console.log(null+"1");//"null1" 4 console.log(null+1);//1

?

  b、一元運算符(+、-,++、--)

  一元運算符(+、-)把操作數轉換成數字(或者NaN),并返回這個數值。++、--運算符的操作數是一個左值(只能出現在賦值運算符的左邊)(變量、數組元素、對象屬性)

1 console.log(+null);//0 2 console.log(-undefined);//NaN 3 var i=1,j=i++; //i=1;j=2 4 var i=1;j=++i; //i=2,j=2

?

  c、關系運算符(返回結果總是布爾值)

  ==(相等)、!=? 比較時允許類型轉換

  ===(恒等) 、!==? ?不允許類型轉化

  ===幾個特例:null和undefined不相等、0和-0相等、NaN和任何數都不等(包括自己),兩個引用指向同一個對象時相等。

  == 幾個特例:null==undefined,對象和字符串比較,調用valueOf()、toString()方法轉成成原始值比較。日期對象調用toString()方法轉換。  

       ?? 兩個操作數類型相同的時候直接比較,兩個操作數類型不同時轉換成數字進行比較。

1 var now=new Date(); 2 console.log(now==now.toString());//true

   >、>=、<、<=比較的操作數可能是任意類型的,但是只有是數字、字符串才能比較(根據字符在Unicode編碼表中的順序)。兩個操作數只要有一個不是字符串,則轉換成數字比較。

   對象的轉換規則:先使用valueOf()獲取原始值,賦值使用toString()方法。

  Infinity比任何數都大、-Infinity比任何數都笑,0和-0相等,NaN和任何數比較都返回false;

1 console.log('one'<3);//false 'one'轉成數字是NaN 2 console.log('1'<3);//true

  d、in運算符

  in運算符的左操作數是一個字符串或者可以轉換成字符串。右操作數是一個對象。in運算符用來判斷做操作數是不是對象的屬性(包含原型上的 )。

1 var o={x:1,y:2}; 2 console.log('x' in o);//true 3 console.log("toString" in o);//true 4 console.log('z' in o);//false 5 6 var arr=[1,3]; 7 console.log(0 in arr);//true 8 console.log('3' in arr);//false

  e、instanceof運算符

  instanceof運算符的做操作數是對象,右操作數是構造函數。如果對象的原型是構造函數的prototype屬性(包含父鏈),則返回true; 

1 var o={x:1,y:2}; 2 console.log(o instanceof Object);//true

?

  f、邏輯運算符

  &&、||、!? (與或非)??當操作數都是布爾值時,返回的是布爾值

  &&、||當操作數中有不是布爾值的,返回值不一定是布爾值;a&&b,當a是真的時候,直接返回b的值,當a是假的時候,直接返回 b;a||b,a為真,返回的a,a為假,返回b;

  !運算符的結果總是布爾值,!!x可以用來判斷x的真假。

  if(a>b)?a++;等價于 (a>b)&&(a++);

  function(o,p){

    p=p||{};//如果不給p傳值,則p的值為空對象。

  }

 g、賦值運算符

  var i=1;

  a=b=0;//給多個變量賦值

  a+=b//a=a+b 其他的類似

 h、eval()函數

  eval()是JavaScript中的全局函數,接受一個參數,如果參數不是字符串,直接返回參數,如果是字符串,字符串會被當成JavaScript源代碼執行,編譯失敗會報錯,編譯成功執行改代碼,并返回最后一條語句的值,如果最后的語句沒有值,返回undefined。

  eval('2+3');//5

 i、其他運算符

  1、三目運算符(第一個表達式的值為真,:前代碼被執行,否則執行:后的代碼)

1 x>0?x:-x; //求x的絕對值

?

  2、typeof運算符

  typeof是一個一元運算符,操作數可以是任意類型的。返回下列的一個字符串。

  

  3、delete運算符

  delete 運算符用來刪除對象的屬性,刪除成功返回true;delete運算的屬性時一個左值,如果不是左值,則返回true,不進行其他操作。  

1 var o={x:2} 2 console.log(delete o.x);//true 3 console.log(o.x);//undefined

  4、void運算符

  void運算符是一個一元運算符,出現在操作數之前,操作數可以是任意類型,操作照常進行,但是會返回undefined。

1 var a=void 2; 2 console.log(a); //undefined

  5,逗號運算符

  逗號運算符是一個二元運算符,它會先計算左操作數,在計算右操作數,最終返回有操作數。  

1 var i,j,k; 2 var a=(i=1,j=2,k=3); 3 console.log(a); //3

二、JavaScript中常見的語句. 

  JavaScript中的語句是以分號結束的,表達式計算出一個值,但語句用來執行以使某個事件發生。

  a、空語句

  空允許沒有內容,只有分號,當創建一個具有空循環體的循環時,空語句很有用 

1 var arr=[]; 2 //初始化一個數組 3 for(var i=0;i<4;arr[i++]=0){ 4 ; 5 }

?

  b、聲明語句

  1、var語句

  var語句用來聲明變量,可以一次聲明一個變量,也可以一次聲明多個變量。用var聲明的全局變量無法通過delete運算符刪除。

  var i; //聲明一個變量

  var i=1,j=2;//聲明多個變量并初始化

  同時,var語句可以用在循環體內;

  for(var i=0;i<3;i++){? }//相當于var i; for(i=0;i<3;i++){ }

  for(var i in o){

    console.log(i)

  }

  2、function

  function關鍵字用來聲明一個函數,函數可以寫成表達式的形式;也可以寫成語句的形式。  

1 //語句 2 function abc(){ 3 4 } 5 //表達式 6 var a=function(){ 7 8 }

  函數聲明語句可以出現在最頂層代碼中,也可以出現在函數體內。函數聲明語句只能出現在函數的最頂層,函數定義不可以出現在while、if或其他循環語句中。

  函數聲明語句和表達式包含相同的函數名,但兩者仍有區別 ,兩者都創建了新的函數對象。但是函數聲明語句中的函數名是一個變量,變量指向函數對象,函數定義語句被顯式的提前到腳本或者函數的頂部,在整個腳本或函數中是可以見,var聲明的函數,只有變量聲明提前,函數必須在其后調用;  

1 a();//報錯 2 var a=function(){ 3 console.log(123); 4 }

  3、條件語句

  if(表達式){

    //true執行這個語句塊

  }else{

    //false 執行這個語句塊

  }

  switch語句

  

    while語句

   ? while(表達式){

      //如果表達式的結果為真,一直執行該代碼。

    }

?     do/while語句

    do{

      //先執行一次,再根據表達式的值執行循環

    }while(表達式);

   for()循環

   for(初始化變量的值;循環條件;變量重新賦值){

    //先執行初始化,然后判斷條件,重新賦值,然后判斷條件,重新賦值。。。。

    }

   for/in

   for(var p in object){

      //遍歷變量的可枚舉屬性(包含原型鏈上的 )

    }

   4、跳轉語句

   break

   break語句用于跳出最內層循環或者switch語句。

   continue

   continue語句用于跳過本次循環,執行下一次循環。

   return 語句

   return語句用來指定函數調用時的返回值,return語句只出現在函數內部,當遇到return語句是,函數執行終止。如果return語句沒有表達式,或者函數沒有return語句,則調用時的返回值時undefined。

   throw 語句,

   throw語句用于顯示拋出一個錯誤,如果找不到最近的異常處理程序,JavaScript會把異常當做程序錯誤處理?!?/span>

   throw expression中expression的值可以是任意類型的,可以拋出一個錯誤碼數字或者一個可讀的錯誤消息的字符串。 

?    try/catch/finally語句

    try/catch/finally語句用于捕獲代碼中的異常,finally中代碼肯定會執行。

         

1 var a=function(){ 2 try{ 3 throw new Error('代碼出現錯誤'); 4 }catch(e){ 5 console.log(e.message); 6 } 7 } 8 a();//'代碼出現錯誤'

  5、其他語句

  with語句

  ?with語句用來臨時擴展作用域。

    with(obj){

        語句

    }

    把obj對象添加到作用域的頭部。執行完代碼塊中的代碼,把作用域鏈恢復原狀。

   

    "use strict"語句

   ??"use strict" 對腳本和函數啟動嚴格模式 

轉載于:https://www.cnblogs.com/yiluhuakai/p/8520251.html

總結

以上是生活随笔為你收集整理的JavaScript中的运算符和语句的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。