JavaScript

来源:互联网 发布:智能建站软件 编辑:程序博客网 时间:2024/04/27 16:58

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遍历

<scripttype="text/javascript">

    var obj =new Object();

    obj.name="Jack";

    obj['age']=90;

   

    //以下开始遍历

    for(var keyin 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;

publicclass One {

    @Test

    publicvoid 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

<scripttype="text/javascript">

    var obj =new Object();

    obj.name="Jack";

    obj['age']=90;

   

    //以下开始遍历

    for(var keyin 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

      

<scripttype="text/javascript">

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

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

    for(var keyin 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 keyin arr){

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

   }

 

1.3、直接不用new array定义一个数组

   String[],list==[]

<scripttype="text/javascript">

                                                                  //这样定义更好更快

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

    alert(arr.length);//3

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

       alert(arr[i]);

    }

</script>

 

 

 

5、二级联动示例

 

 

第一步:定义数据

   如何表示数据结构。

  

 

 

第二步:设置程序,出现省,且选择省时再出现市

 



 

 

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

<html>

<head>

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

<title>Insert titlehere</title>

</head>

<body>

    <!-- //第二步:声明两个select -->

    <!--第四步:当值发生变化时,设置市的值 -->

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

           <option value="-1">请选择省</option>

       </select>

      

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

</body>

<scripttype="text/javascript">

    //第一步:定义数据结构

    //山东:济南,青岛。

    //北京:昌平,东城

    var citys = {

           "山东":["济南","青岛","烟台","威海"],

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

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

    }; 

    //第三步:将山东,北京

    //遍历citys,获取这个对象的key.

    for(var prin 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>





原创粉丝点击