JavaScript筆記_基本文法

來源:互聯網
上載者:User

標籤:

同其它程式設計語言一樣,JavaScript中也一樣有變數,語句,函數,數組等常見語言群組成元素。

1、變數:

JavaScript中通過關鍵字var來定義變數。

JavaScript中的變數類型為弱類型(弱類型既是不用指定具體的資料類型)

例:

  1. var x =3;  
  2. x = "hello";  

註:JavaScript中特殊的常量值:undefined,當變數沒有初始化就被使用,該變數的值就是undinfed(未定義)。

 

 

2、語句(與Java語句格式相同)

1)判斷結構(if語句)

例:

 
  1. if(x==4)//可以進行比較運算  
  2. if(x=0)//可以進行賦值運算,而且可以同樣進行判,不報錯。  

2)選擇結構(switch語句)

與Java相同

3)迴圈結構(while語句,do..while語句,for語句)

例如:(列印99乘法表)

 

  1. var x = "99乘法表";  
  2. alert(x);  
  3.   
  4. document.write("<table>");  
  5. for(var i=1; i<=9; i++)  
  6. {  
  7.     document.write("<tr>");  
  8.     for(var j=1; j<=i; j++)  
  9.     {  
  10.         document.write("<th>");  
  11.         document.write(j + "*" + i + "=" + i*j);  
  12.         document.write("</th>")  
  13.     }  
  14.     document.write("</tr>");  
  15. }  
  16. document.write("</table>");  

 

 

註:不同的是,沒有了具體資料類型的限制,使用時要注意。

 

3、函數(一般格式)

1)一般格式:

例如:

  1. function show()  
  2. {  
  3.     alert("show");  
  4.     alert(arguments.length);  
  5. }  

註:JavaScript的函數,沒有參數的重載形式。參數統一放到函數內部數組arguments中。

 

2)動態函數定義(Function):

例如:

[javascript] view plaincopy 
  1. var show = new Function("x","y","return x+y;");  
  2. alert(show(1,2));  

3)匿名函數(通常用於事件的處理方式定義):

例如:

 

[javascript] view plaincopy 
  1. var show = function()  
  2. {  
  3.     alert("function run");  
  4. }  
  5. show();  

4)arguments數組

JavaScript文法,函數中,可以不要顯式的聲明函數的個數和類型(不建議這麼幹),有預設的arguments數組,可以實參數的動態擷取。

例如:

 

  1. function myAdd()  
  2. {  
  3.     var sum = 0;  
  4.     for(var x=0; x<arguments.length; x++)  
  5.     {  
  6.         document.write("argu" + x + ":" + arguments[x] + "<br/>");  
  7.         sum += arguments[x];  
  8.     }  
  9.     return sum;  
  10. }  
  11. document.write("total:" + myAdd(1,2,3,4) + "<br/>");  

 

 

4、數組

Js中,數組就相當於Java中的集合,長度可變,不存在越界。

例:

 

 
  1. var arr = [4,1,6,8];  //直接定義數組  
  2. var arr = new Array();  //定義空的數組  
  3. for(var i=0; i<arr.length; i++)  
  4. {  
  5.     alert(arr[i]);  
  6. }  

 

5、對象的定義

 

 
  1. //這邊定義有點類似構造器  
  2. function Person(name,age)  
  3. {  
  4.     this.name = name;  
  5.     this.age = age;  
  6. }  
  7. var p = new Person("mingzi","1");  
  8. p.getName = function()  //工具方法  
  9. {  
  10.     return p.name;  //或return p["name"];  
  11. }  

 

6、with語句

 

  1. 6)with語句  
  2. with(stu)       //stu是對象  
  3. {  
  4.     alert(name+"..."+age);  
  5. }  


7、for-in語句

 

1)for-in遍曆類的屬性

 

  1. for(s in stu)   //s為屬性名稱  
  2. {  
  3.     alert(stu[s]);  //stu[s]為stu對象中,s屬性對應的屬性值。  
  4. }  

2)for-in遍曆數組

 
  1. var array = [5,1,2,7];  
  2. for(index in array)  
  3. {  
  4.     document.write(array[index] + "<br/>");  
  5. }  


8、給JavaScript中已存在的對象增加方法(利用prototype屬性)

 

例如:(給Array類,增加getMin()和getMax()方

 

    1. Array.prototype.getMax = function()  
    2. {  
    3.     var max = this[0];  
    4.     for(index in this)  
    5.     {  
    6.         if(this[index] > max)  
    7.         {  
    8.             max = this[index];  
    9.         }  
    10.     }  
    11.     return max;  
    12. }  
    13.   
    14. Array.prototype.getMin = function()  
    15. {  
    16.     var min = this[0];  
    17.     for(index in this)  
    18.     {  
    19.         if(this[index] < min)  
    20.         {  
    21.             min = this[index];  
    22.         }  
    23.     }  
    24.     return min;  
    25. }  
    26.   
    27. var array = [1,4,3,3,5,6];  
    28. document.write(array.getMax() + "<br/>");  
    29. document.write(array.getMin() + "<br/>");  
    30. document.write("<br/>");  

JavaScript筆記_基本文法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.