JAVAscript学习笔记

  1. HTML只是描述网页长相的标记语言,没有计算能力、判断能力,如果所有计算、判断(比如文本框是否为空,判断两次密码是否输入一致)都放都服务器端执行的网页的话,页面会非常的慢、用起来也很难用,对服务器的压力也很大,因此要求能在浏览器中执行、判断。JAVAScript是一种浏览器段语言!不需要进入服务器端就能执行!这样网页运行速度也就快了许多!即是一种纯前端的解释语言!
  2. Javascript是一个不需要编译就可以直接运行的语言,那怕有语法错误,没有语法错误的部分还是能正常运行!
  3. 弹出一个年月日窗口:

    <script type="text/javascipt">

    Alert(new Date().toLocaleDateString());

    <script>

  4. Script可以写在<head>或<body>任意一个位置!
  5. 在标签中使用javascript代码:

    如下:

    <a href="javascript:alert('hello')">点点</a>

    <a href="1.html" onclick="alert('hello')">点点</a>

    除了在href中要有"javascript"关键字,其它的不需要!

  6. Javascript中既可以使用双引号声明字符串,又可以单引号使命字符串。主要是为了方便与html集成,避免转义符的麻烦。
  7. Javascript中有null、undefined两种,null表示变量的值为空,undefined表示变量还没有指向任何的对象,未初始化。
  8. Javascript是弱类型,声明变量的时候无法:int i=0;也就是说没有类型这么一说。只能通过var i=10;来声明变量,和c#中的var不一样,不是C#中那样的类型判断!

    下面情况是允许的:

    Var i=10;

    I="123";

    当i为10时,i指向的是int 类型,当i为"123时,i指向的是string类型。"

  9. Javascript可以不用var来声明变量,直接用,这样的变量是"全局变量",因此除非确实想用全局变量,否则使用的时候最好用上var
  10. Javascript中判断变量、参数是否初始化的三种方法:

    Var x;

    If(x==null)

    {

        Alert("null")

    }

    If(typeof(x)=="undefined")

    {

        Alert('undefined');

    }

    If(!x){alert('不x');}

    If(x)这表示变量被初始化了,或者变量不为空,或者变量不为0

  11. Javascript中声明函数的方法

    Function add(i1,i2)

    {

    Return i1+i2;

    }

    不用写函数类型,也不用写参数类型。

  12. 匿名函数的声明:

    Var f1=function(i1,i2){

    Return i1+i2;

    }

    Alert(f1(1,2));

    也可以这样用:

    Akert(function(i1,i2){return i1+i2;}(1,2));//直接声明一个匿名函数,立即使用!-

  13. javascript中没有类的语法,是用函数闭包(closure)模拟出来的!javascript中的string、Date等"类"都被叫做对象。

    Function Person( name,age){

    This.name=name;

    This.age=age;

    This.SayHello=function(){

    Alert("你好,我是"+this.name+",我"+this.age+"岁了");

    }

    }

    Var p1 = new Person("tom",20);

    P1.SayHello();

    也可以动态增加属性:

    例如:

    P1.Gender="男";

    这样,以后就可以直接使用新增加的属性!

  14. javascript中的Array对象就是数组,首先是动态数组,而且是一个像C#中数组、ArrayList(动态数组【可以随时加东西,没有数量的限制!】)、Hashtable等的超强综合体。

    Var names=new Array();

    Names[0]="tom";

    Names[1]="jerry";

    Names[2]="lily";

    For(var i=0;i<name.length;i++){

    Alert(names[i]);

    }

    无需预定制定数组大小!

  15. 找到数组中最大的数:

    function getMax(arr){

        var max=arr[0];

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

            if(arr[i]>max)

            max=arr[i]

            }

            return max;

        }

        var arr1=new Array();

        arr1[0]=20;

        arr1[1]=19;

        arr1[2]=21;

        alert(getMax(arr1));

  16. 将字符串数组的元素的顺序进行反转。例如{"3","a","8","haha"}反转为{"haha","8","a","3"};

    在javascript中的反转函数:数组名.reverse

     

        function getChange(arr){

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

            var temp;

            temp=arr[i];

            arr[i]=arr[arr.length-i-1];

            arr[arr.length-i-1]=temp;

            }

            return arr;

            }

        var arr1=new Array();

        arr1[0]="3";

        arr1[1]="tom";

        arr1[2]="ket";

        arr1[3]="5";    

        alert(getChange(arr1));

  17. 将一个字符数组输出为|分割的形式,比如:"梅西|卡卡|郑大世"

    在javascript中有join函数可以起到这样的做作用:

    例如:

    Arr[0]="梅西";

    Arr[1]="卡卡";

    Arr[2]="郑大世";

    Arr.join("|");

        

    如下:

    function getChar(arr){

        if(arr.length<0){

            return;

            }

        var s=arr[0];

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

            s=s+"|"+arr[i];

            }

            return s;

        }    

        var arr1=new Array();

        arr1[0]="tom";

        arr1[1]="jerry";

        arr1[2]="lily";

        alert(getChar(arr1));

  18. js中Array是一个宝贝,不仅是一个数组,还是一个Dictionary,还是一个Stack。

    例如:

    Var pinyins=new Array();

    Pinyins["人"]="ren";

    Pinyins["口"]="kou";

    Pinyins["手"]="shou";

     

    Alert[pinyins["人"]];

    Alert[pinyins.人];

    像Hashtable、Dictionary那样用,而且它们一样效率高!

  19. Array可以有简化的创建及方式:

    Var arr=[3,5,7,9];普通数组初始化

  20. 字典风格的建华创建方式:

    Var arr={"tom":30,"jim":20};

  21. 获得对象的成员:

    for(var e in document){

        alert(e);

        }

你可能感兴趣的:(JavaScript)