JavaScript語法基礎


  學習玩Java語言后,現在准備學習JavaWeb,雖然,還有一個Java項目在那沒完成,但還是准備邊學習JavaScript,邊做項目。

在下面是在學習過程中的總結,目的是為了方便以后復習和查詢。

 

--------------------------------------華麗的分割線--------------------------------------------

 

開始看看一個簡單的JavaScript程序:

<html>
<head>
<title>Greet</title>
<!-- 開始編寫JavaScript代碼 -->
<script type = "text/javaScript">
// 由按鈕單機事件調用的函數
       function greet()
{
var name = document.getElementById("name") ;
if (name)
alert(
"hello" + name.value) ;
}
</script>
</head>
<body>
<!-- 用於輸入消息文本框 -->
<input type = "text" id ="name"/>
<!-- 調用greet方法的按鈕 -->
<input type = "button" value = "Greet" onclick = "greet()"/>
</body>
</html>

也可以將上面的JavaScript代碼嵌入到HTML中:

<!--greet.js-->
function greet()
{
var name = document.getElementById("name") ;
if (name)
alert("hello" + name.value) ;
}

在HTML中用<script>標簽來引用greet.js

<script type = "text/javascript" src = "greet.js">
</script>


變量:

  在JavaScript中有下面兩種定義變量的方法:

  1、為在變量第一次賦值時定義。

    name = "name" ; 

    alert ( name ); 

  2、使用var關鍵字定義變量。

    var name = "name" , age = 23 ;  // 定義兩個變量用 “,” 分開

    alert (name) ;

  注意:

  JavaScript變量名需要遵循兩個規則:

   1 、 第一個字符必須是字母 或 下划線 或 "$" 。

   2 、其他的字符可以使字母、下划線、美元符號、任何數字 。 

 

原始類型:

  JavaScript有5種原始類型:(每一種原始類型都定義了自身的取值范圍和表達式。

    1、Undefined 類型(只有一個值,undefined ) ;   

 

    alert(typeof st) ; // 顯示 undefined
    if (typeof st == "undefined" )
    alert ( "st未定義" ) ;

      如果變量是使用var來定義,並且為初始化,這個變量的值就是undefined 。

    同時可以直接用: if (st == undefined )形式來判斷變量類型。否則不可以。

    2、Boolean類型。

      只有兩個值 true 或 false ,也可以用1和0表示。(這和java有點不一樣)

    3、Number 類型。

      可以表示32位整數,也可以是64位浮點型。整數可以表示成八進制和十六進制。

      var iOctalNum = 0213 ; //八進制必須要0開頭

      var iHexNum = 0xfff  ; // 十六進制必須要0x開頭。

      但是所有的數學運算返回的都是十進制結果。 

      alert(iOcatlNum) ; // 輸出的是十進制數 139 ; 

      alert(iHexNum) ;  // 顯示的是十進制數 。 

 

    4、String 類型。

  可以用typeof運算符來獲得一個變量的類型。

  var intValuer = 22 ; 

  var stringValuer = "abc" ;

  alert (typeof intValuer) ; // 輸出number 

  alert (typeof stringValuer) ; //輸出string 


  typeof 運算符可以返回一下5個值:

  1、undefined : 變量是Undefined 類型 。 

  2、boolean :

  3、number : 

  4、string :

  5、object : 變量是引用型或者NUll類型 。

 

 函數和函數調用 :

   基本語法如下: 

function funName(arg0 , arg1 , ... argN)
{
statments ;
}

    JavaScript中的函數不能重載,如果函數名相同后面的函數就會覆蓋前面的。

在JavaScript中,函數還可以使用argument對象實現動態參數,也就是在聲明函數時並不需要定義參數,如:

    

    function sum()
    {
      var _sum = 0 ;

      for (var i = 0 ; i < arguments.length ;++ i)
          _sum += arguments[i] ;
      return _sum ;
    }

    在JavaScript中可以用Function建立任何函數,語法如下:

       var funName = new Function(arg1 , arg2 , ... , argN , functionBody ) ; 

    如 :     var sum = new Function("num1" , "num2" , "return num1 + num2 ") ; 

        alert (sum(-1,-1)) ; 


類和對象:

        在JavaScript中有一些預定義的類,如Object、Array、String、Number 等 。 

     下面有三種方法自定義類:

  1、 動態添加類成員(工廠方式) 

  

// 對多個對象共享的方法 。
function study ()  
{
  alert(this.name + "學習中!") ; 
}
// 創建一個student對象的工廠函數,可以共享study方法 。
funciton createStudent(id , name , age)
{
  var student = new Object  ;  // 創建一個對象變量 
  student.id = id ;
  student.name = name ; 
  student.age = age ; 
  student.study = study ; 
  retrun student ; 
}

   2、構造函數方式

    

// 多個對象共享的study方法。
funciont study()
{
  alert(this.name + "學習中!")  ; 
}
//Student類的構造方法。
function Student(id , name , age )
{
  this.id = id ;
  this.name = name ; 
  this.age = age  ;
  this.study = study ; 
}
var student_1 = new Student("01" , "xxx" , 100 )  ;
student_1.study() ; 

  3、原型方式 

   該方法使用了對象的prototype屬性,可以把prototype屬性看成是創建新對象所依賴的原型。

  

//建立一個空的構造函數 。
function Student()
{
}
//使用prototype為Student類添加屬性。
Student.prototype.id = '12' ;
Student.prototype.name = 'xxx' ;
Student.prototype.age = '20' ;
//使用prototype添加方法 。
Student.prototype.study = function()
{
alert(this.name + "學習中!") ;
};
var student_1 = new Student() ;

  使用原型方式的另一個好處就是可以為已經存在的類添加新的成員。

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM