2、JavaScript的語法

目錄:

一、變量:存儲數據的容器javascript

二、數據類型html

三、string數據類型java

四、number數據類型正則表達式

五、boolean數據類型數組

六、數據類型的隱式轉換函數

六、數據類型轉換函數學習

七、特殊類型this

八、算術運算spa

九、關係運算code

十、邏輯運算

十一、條件運算符


 

 

1、變量:存儲數據的容器

1)變量聲明:使用關鍵字var聲明變量,如var x,y;

變量命名經常使用於表示函數、變量等的名稱。

 

u  注意事項:以var關鍵字聲明,聲明的時候不肯定類型,變量的類型以賦值爲準。

例如:

var x,y,z;         
    x = 10;        
    y = "mary";        
    z = true;

 

2)變量初始化:使用等號賦值

如:var count = 0;

u  注意事項:沒有初始化的變量則自動取值爲undefined

1)    變量命名規則:

1、不以數字開頭的字母、數字、下劃線、$

2、不能和保留關鍵字重複,如varfunctionnumberstringbreakif等。

三、  變量名有含義(見名知意)

四、  多個單詞時,首字母小寫,其他單詞首字母大寫。

五、  不要隨意縮寫命名,除公認的縮寫外。

注:在JS中變量名是區分大小寫的

2)    變量的分類

變量具備做用域:變量的有效範圍

一、公共變量:定義在全部函數外,全部函數均可以使用。

二、局部變量:定義在函數內部的,僅函數中可使用。

2、數據類型

1)基本類型:number數字、string字符串、boolean布爾

2)特殊類型:null空、undefined未定義

3)複雜類型:array數組、object對象

3string數據類型

1)表示文本:由Unicode字符、數字、標點符號組成的序列。

2)首尾由單引號或雙引號括起來。(只要引號括起來的都是字符串)

3)特殊字符須要轉義,用轉義符\,如:\n\\\'\「

例如:

var a = "歡迎來到\"JavaScript世界\"";

u  注意事項:可用在正則表達式,只容許錄入漢字[^\u4e00-\u9fa5$],每一個漢字都有轉義符。

四、number數據類型

1)不區分整型數值和浮點型數值:全部數字都採用64位浮點格式存儲,相似於double格式。

2)整數:

3)浮點數:使用小數點記錄數據。

5boolean數據類型

1)僅有兩個值:truefalse;實際運算中true=1false=0

2)多用於結構控制語句。

 

6、數據類型的隱式轉換

1JavaScript屬於鬆散類型的程序語言

①變量在聲明時不須要指定數據類型。

變量由賦值操做肯定數據類型。

2)不一樣類型數據在計算過程當中會自動進行轉換

數字+字符串:數字轉換爲字符串

數字+布爾值:true轉換爲1false轉換爲0

字符串+布爾值:布爾值轉換爲字符串truefalse

布爾值+布爾值:布爾值轉換爲數值10

 var s="a";        
 var n=1;            
 var b1=true;              
 var b2=false;
 alert(s + n);//a1        
 alert(s + b1);//atrue                  
 alert(n + b1);//2       
 alert(b1 + b2);//1

 

6、數據類型轉換函數

1)轉換方式:

隱式轉換:直接轉,默認的規則

顯式轉換:利用轉換的方法

u  注意事項:不建議用隱式轉換。

2)顯式轉換

①toString:轉成字符串,全部數據類型都可轉換爲string類型。

②parseInt:強制轉換成整數,若是不能轉換,則返回NaN

例如:parseInt("6.12")=6(無四捨五入)

③parseFloat:牽制轉換成浮點數,若是不能轉換,則返回NaN

例如:parseFloat("6.12")=6.12

④typeof:查詢數值當前類型,返回string/number/boolean/object

例如:typeof(「test」+3)="string"

3NaNnot a number,很是特殊,它不是數字,因此任何數跟它都不相等,甚至NaN自己也不等於NaN

4isNaN(str) is not a number,判斷文本是否爲數值,false爲數值,true爲非數值

5)案例

eg1:轉換函數:獲得錄入數值的整數部分

<!--  html代碼:   -->
<input type="text" id="txtData" />
<input type="button" value="獲得錄入數據的整數部分"  onclick="getInt();" />
//js代碼:
<script type="text/javascript">
    function getInt() {   
        var str = document.getElementById("txtData").value;
        if (isNaN(str)) { 
            alert("請錄入數值");
        }else {  
            var data = parseInt(str);
            alert("整數部分爲:" + data);               
         }          
     }          
</script>

 

 

eg2:轉換函數:計算錄入數值的平方

<!--  html代碼:   -->
<input type="text" id="txtData" />
<input type="button" value="計算平方" onclick="getSquare();" />
//js代碼:
<script type="text/javascript">
    function getSquare() {      
        var str = document.getElementById("txtData").value;
        if (isNaN(str)){
            alert("請錄入數值"); 
        }else {  
            var data = parseFloat(str);
            var result = data * data;    
            alert(result);       
        }     
    }    
</script>

7、特殊類型

1nullnull在程序中表明無值或者無對象。能夠經過給一個變量賦值null來清除變量的內容。

2undefined:聲明瞭變量但從未賦值或這對象屬性不存在。

8、算術運算

1)加(+)減(-)乘(*)除(/)餘數(%

         +=-=*=/=%=

         例如:i+=1等價於i=i+1

-」:能夠表示減號,也能夠表示負號。

+」:能夠表示加法,也能夠用於字符串的鏈接。

2)遞增(++)遞減(--

i++等價於i=i+1i--等價於i=i-1

9、關係運算

1)用於判斷數據之間的大小關係:「>」、「<」、「>=」、「<=」、「==」、「!=

u  注意事項:「= =「比較的是值(忽略類型)。

2)關係表達式的值爲boolean類型(「true」「false」

3)嚴格相等:「===」類型、數值都相同。

4)非嚴格相等:!==

例如:

var a = "10";         
var b = 10;        
if(a == b) alert("equal"); 
if(a === b) alert("same");

 

10、邏輯運算

1)邏輯非(!)、邏輯(&&)、邏輯或(||

2)邏輯運算的操做數均爲boolean表達式

 

 

b1

b2

b1&&b2  

b1||b2

!b1

true

true

true

true

true

false

true

false

true

true

false

false

true

false

false

false

false

false

注:與:一假則假 、或:一真則真

11、條件運算符

1if語句、if-else語句、if-else if-else語句、swich語句(流程控制語句)

2)語法:

表達式?代碼塊1: 代碼塊2

如:a>b?ab:ba;

if(表達式1){語句塊1}else if(表達式2){語句塊2}else{語句塊3}

如:

當條件爲true時,執行代碼塊1,不然執行代碼塊2

eg:猜數字

<!--  html代碼:   -->
<input type="text" id="txtData" />
<input type="text" onblur="guessNumber(this.value);" />
<!--this表明當前對象-->

//js代碼:
<script type="text/javascript">
function guessNumber(str) {//內置結果         
    var result = 10;
    if (isNaN(str)){
        alert("請錄入數值");
    }else {         
        var data = parseFloat(str);
        var info = data > result ? "大了" : "小了";      
        alert(info);        
    }        
}    
</script>

 

程序默認狀況下順序執行,改變或者控制執行順序。

1) if語句:①if(表達式){語句塊1}else{語句塊2}

               if(表達式1){語句塊1}else if(表達式2){語句塊2}else{語句塊3}

     2switch-case語句:

switch(表達式){

         case 1:語句1;break;

         case 2:語句2;break;         

         default:語句3;

}

注意事項:

一、  switch語句中包含:switchcasebreakdefault關鍵字。

二、  每一個case後面僅帶有一個值,而且相互之間不能相同。

三、  break:寫在每一個case或者defautl後面,表示關閉switch

四、  default:能夠寫在switch結構的任何位置

 

3for語句:

for(初始化;條件;增量){

         語句;

}

u  注意事項:初始化中的局部變量用var聲明。

4while語句

while(條件){

         語句1;

}

特色:先判斷,後執行

5while語句

         do{

                   語句1

}while(條件)

                  特色:先執行,後判斷

u  注:可以使用break或者continue停止循環

                       break:使用在switch表示跳出switch

                                 使用在循環中表示跳出循環

                       continue:使用在循環中,表示路過本次循環,進入下一次循環

 

 

案例:階乘計算

<!--  html代碼:   -->
<input type="button" value="求10的階乘" onclick="getFac();" />

//js代碼:
<script type="text/javascript">
function getFac() {     
    var result = 1;
    for (var i = 1; i <= 10; i++) {   
        result *= i;    
    }

    alert("10的階乘爲:" + result);                    
}        
</script>

ps:若是有什麼錯誤,歡迎你們指出了,一塊兒交流學習。

相關文章
相關標籤/搜索