JavaScript

JavaScript

 

1:Function定義。

2:var關鍵字定義變量。在JS中定義變量,可以是任意的類型。是根據後面的數據來決定。

3:function繼承,

              原型模式 – prototype.

       可以通過prototype擴展,(overied)所有的任意方法。

       String.prototype.trim=function(){.....}

 

 

1:主要內容

1.1、Js的控制語句。

       if(true|false){...}

      

if判斷的條件:

       在JS中判斷中

       以下都是false :

              1:null

              2:0

              3:false

              4:undefined

var boo=true;

                     alert(boo);//undefined

                     if(99){

                            alert("OKOKK");

                     }else{

                            alert("沒有");

                     }

 

If中的==條件,===

                     vara1 = "90";//string類型的

                     vara2 = 90;//類型,number

                     if(a1===a2){//==在js中就是equals

                                   //===三個等於全等於:數值一樣,且類型一樣

                                   alert("一樣");

                     }else{

                            alert("不一樣");

                     }

      

 

 

1.2 for(定義;判斷;++|--){...}

       以下是是在for中聲明一個變量的示例:

       functionabc(){

                   for(vari=0;i<10;i++){

                                 varname = "ddd";

                   }

                   alert("iis:"+i+","+name);     //這兒是可以的

         }

       //調用一下abc(),

       abc();

 

以下是考試:

                function abc(){

                   varj=0;

                   for(vari=0;i<10;i++){

                                 j=j++;

                   }

                   alert("jis:"+j);//j=0

                }

                     //調用一下abc(),

                     abc();

 

do..while

while(....){}

switch..case..default..

 

 

1.3、for in遍歷

<script type="text/javascript">

    var obj = new Object();

    obj.name="Jack";

    obj['age']=90;

   

    //以下開始遍歷

    for(var key in obj){

       var value = obj[key];//這兒由於key是一個變量,所以只能使用[]中括號

       alert(key+"="+value);

    }

</script>

 

 

 

2、JS數據類型的判斷

      

    1:instanceof 是判斷一個變量,是否是某個對象的引用。

             

    2:typeof(變量),判斷一個變量是何種類型,以字符串的形式返回這個類型的名稱

 

              A:用typeof判斷一個變量的類型。

              B:用typeof判斷是否是一個函數,且調用它.

      

      

 

      

   2.2、JS中的數據類型

              Object– 對象,所有變量都應該是object的子類.

              Array – 數組。   

              String –字符串

              Number數字         

              Function– 說明這個變量是一個函數方法。

 

2.3、用typeof判斷方法實現回調

       回調函數

              <scripttype="text/javascript">

                            //第一個參數是一個string類型的name,

                            //第二個參數是一個function函數

                            functionfunc1(name,fun){

                                   alert("nameis:"+name);

                                   fun(name);

                            }

                            func1("Tom",function(nm){

                                   alert("這是第二個,你輸入的名稱爲:"+nm);

                            });

              </script>

 

 

判斷:

<html>

       <head>

              <scripttype="text/javascript">

                            //第一個參數是一個string類型的name,

                            //第二個參數是一個function函數

                            functionfunc1(name,fun){

                                   alert("nameis:"+name);

                                   //判斷是否是函數,如果是纔去調用,否則就不去調用

                                   if(typeof(fun)=="function"){

                                          fun(name);

                                   }

                            }

                            func1("Tom",function(){

                                   alert('ddd');

                            });

              </script>

       </head>

       <body>

             

 

 

3、Object與Array數據類型

       Object是JS,所在類型的最高父類

       在JS中與Java不同的是,Object同時還是Map.,數據封裝用法。

 

 

3.1、一般的數據封裝,用object

              <scripttype="text/javascript">

                            varperson = new Object();

                            person.name="Jack";//直接將Object當成一個Map來使用,直接設置name的值

                            person['age']= 90;

                           

                            //以下提示name,age的值

                            alert(person['name']+","+person.name);

                            alert(person['age']+","+person.age);

                           

              </script>

 

3.2、遍歷一個Object(Map)

 

以下是Java代碼遍歷一個Map

import java.util.Map.Entry;

import org.junit.Test;

public class One {

    @Test

    public void aa(){

       Map<String,Object> mm = new HashMap<String, Object>();

       mm.put("name","Jack");

       mm.put("age",99);

      

       for(Entry<String,Object> en:mm.entrySet()){

           System.err.println(en.getKey()+","+en.getValue());

       }

       System.err.println("-------------------------");

      

      

       Iterator<String> keys = mm.keySet().iterator();

       while(keys.hasNext()){

           String key = keys.next();

           System.err.println(key+","+mm.get(key));

       }

    }

}

在JS中通過for..in遍歷一個object

<script type="text/javascript">

    var obj = new Object();

    obj.name="Jack";

    obj['age']=90;

   

    //以下開始遍歷

    for(var key in obj){

       var value = obj[key];//這兒由於key是一個變量,所以只能使用[]中括號

       alert(key+"="+value);

    }

</script>

      

3.3、定義Object的方法

       1:可以這樣定義:

              Varobj = new Object();

              obj.name=”Jack”;

2:第二種方法 用的更多的這種。

       Var obj = {“name”:”Jack”,”age”:90};///JSON

      

<script type="text/javascript">

    var obj = {"name":"Jack","age":90};

    alert(obj.name+","+obj.age);

    for(var key in obj){

       alert(key+"="+obj[key]);

    }

</script>

 

 

4、Array數據類型

1、定義

1.1

    //聲明一個array長度是0

    var arr = new Array();

    arr[0] = "Jack";

    arr[1] = "Rose";

    arr[5] = "Marry";

    alert(arr.length);

    //顯示

    alert(arr[1]+","+arr[0]);

    //遍歷

    for(var i=0;i<arr.length;i++){

       alert(""+i+" is:"+arr[i]);

   }

 

1.2、 不用數字定義下標


    //聲明一個array長度是0

    var arr = new Array();

    arr['name']= "你好";

    arr['addr']= "山東";

    //如果沒有下標,這個arrary將轉換成object

    alert(arr.length);//0

   

    for(var key in arr){

       alert(key+","+arr[key]);

   }

 

1.3、直接不用new array定義一個數組

   String[],list==[]

<script type="text/javascript">

                                                                  //這樣定義更好更快

    var arr = ["山東",'北京','上海'];

    alert(arr.length);//3

    for(var i=0;i<arr.length;i++){

       alert(arr[i]);

    }

</script>

 

 

 

5、二級聯動示例

 

 

第一步:定義數據

   如何表示數據結構。

  

 

 

第二步:設置程序,出現省,且選擇省時再出現市

 



 

 

<!DOCTYPE html PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type"content="text/html; charset=UTF-8">

<title>Insert titlehere</title>

</head>

<body>

    <!-- //第二步:聲明兩個select -->

    <!-- 第四步:當值發生變化時,設置市的值 -->

    省:<select id="pre" style="width:100px" onchange="_chg(this);">

           <option value="-1">請選擇省</option>

       </select>

      

    市:<select id="city" style="width:100px;"></select>

</body>

<script type="text/javascript">

    //第一步:定義數據結構

    //山東:濟南,青島。

    //北京:昌平,東城

    var citys = {

           "山東":["濟南","青島","煙臺","威海"],

           "北京":["昌平","東城","海淀"],

           "上海":['浦東',"AAA","BBB","CCCC"]

    }; 

    //第三步:將山東,北京

    //遍歷citys,獲取這個對象的key.

    for(var pr in citys){

       //聲明option("value","顯示")

       var op = new Option(pr,pr);

       //op添加到省中去

       pre.options.add(op);

    }

   

    //第四步的.1:

    function _chg(sel){

       //第五步:根據value值,獲取這個value的對應的citys中的數組

       var ccs = citys[sel.value];//[濟南,青島]

       //先刪除以前高市的信息

       city.options.length=0;

       //ccs遍歷添加到

       for(var i=0;i<ccs.length;i++){

           //再聲明option

           var op = new Option(ccs[i],ccs[i]);

           city.options.add(op);

       }

    }

   

   

</script>

</html>





發佈了59 篇原創文章 · 獲贊 7 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章