JavaScript整理

1.NaN  

   1) NaN 属性代表非数字值的特殊值.用于指示某个值不是数字.

   2) 方法parseInt()和parsefloat()再不能解析指定的字符串时就返回这个值.

   3) 用isNaN()判断一个值是否是数字        因为,NaN与所有值都不想等,包括它自己.

2.转换规律

   1) if("")  中 " "相当于false;任何非空的字符串,都可以在判断中装换为true

    2)数字对象number, 除了NaN,+0和-0.其他都转换为true.

                alert(11>3);//true     //当运算符两端 , 一端是数字,一端是其他类型时,

                 其他类型会自动向数字类型转换

                alert("11">3);// true

                alert(11>"3");//true

                //字符串在进行比较时 ,规律是: 比较首字符asc码. 如果一样,比较第2位...

```

                alert("11">"3");// false

                alert("11">"1");// true

                alert("abc">11);//false

```

    3)null===>false     undefined===>false   因为因为undefined是null衍生出的,所以                 ,alert(undefined == null);判断结果为 true

3.函数function()

    1)定义方式一

            函数对象的构造方法中,最后一个参数是定义函数的体.之前所有参数都是定义函数的参                           数

            var fun2 = new Function("a","b","alert(a+b);");    

            调用方式:==>fun2( 1,5 );  ==>fun2( "1","5" );


    2)定义方式二

            var fun3 = function (){

                alert('bbb');

            }

              调用方式:fun3();

    3)定义方式三

            function fun1(){

                    alert('aaa');

             }

             调用方式,直接显示函数代码:===>alert(fun1.toString());

    4)函数的重载

        js中函数的调用只看函数名称.不看参数列表

        function fun2(){

                alert(arguments[0]); // 获得第一个实际参数

        }

        //函数中的内置对象 arguments

        //arguments ==> 代表函数运行时的实际参数列表.

        调用:

         fun2(); //0  undefined

        fun2(1,2); //2 1

        fun2(1,2,3); //3 1

        // js中存在函数的重载吗? 如何重载?

        function fun3(){

            alert('aaa');

        }

        function fun3(a){

            alert('bbb');

        }

        //如上不能重载,是覆盖

        function fun4(){

            if(arguments.length == 2){

                    alert(arguments[0]+arguments[1]);

            }else if(arguments.length == 3){

                    alert(arguments[0]+arguments[1]-arguments[2]);

            }

        }

        调用方式:

        fun4(1,2);//3

        fun4(1,2,3);//0

        //以上是重载.

5)return void 的使用

    **1//使用return 关键字,返回内容

    function fun2(a,b){

    alert('fun2');

    return a+b;

    }

     alert(fun2(1,2));//3

   **2 //return 关键字,在js中也可以作为结束方法运行的功能.

    function fun3(){

        alert('aaa');

        return ;

        alert('bbb');

    }


4.parseInt()的使用  和 Global对象

   **1 var str = "123abc";

        //1.使用 +

        //2.使用 new Number()

        //3.parseInt

        //alert(typeof parseInt(str));//number

         alert(+str); //NaN

        alert(new Number(str));//NaN

        alert(parseInt(str));// 123 

            //区别: 1,2两种转换属于将字符串整体进行转换.如果字符串中包含1个或以上转换不了的                         字符,返回NaN

                        3 从左到右 依次转换,能转一个是一个,直到遇到不能转换的值停止.


                // parseFloat 转换成浮点数

                //与上面的parseInt一样.区别是支持转换小数

                var str = "3.1415.9265357";

                alert(parseInt(str));// 3

                alert(parseFloat(str));//3.1415

**2.Globle对象

    可理解为全局对象,也是已经预定义好的对象

    还有全局方法:decodeURI() ,encodeURI() , decodeURIComponent(), encodeURIComponent(),isFinite(), isNaN(),eval()

    类似java中的静态方法.

5.数组

    1).创建方式

        //1>创建方式1 创建一个数组并初始化值

        var arr1 = ["abc",2,true,null,undefined,new Object()];

        //2>创建方式2 同方式1

        var arr2 = new Array(1,2,3);

        //3>创建方式3 ==> 创建一个长度为3的数组. 数组Array的构造函数,如果只传一个参数,并且         这个参数是整数.那么这个整数就是数组的初始化长度.

        var arr3 = new Array(3);

    2)js中数组的特点:

        //1.js中的数组,类型任意.

        //2.数组的长度不是固定的.用到哪里,就有多长.

             arr3[8] = 10;

            alert(arr3.length);//9

            alert(arr3[6]);//undefined 

    3)方法

        //sort方法 ==> 排序的方法.

        //注意: 该方法默认排序规则,按照字符串规则排序.

        //如果需要按照数字排序,需要准备一个比较器.

        var arr5 = [2,9,3,100,5,7,1];

        alert(arr5.sort(abc))//

        //函数对象==> 比较器

        function abc(a,b){

            /* if(a>b){

                    return 1;

            }else if(a==b){

                return 0;

            }else{

                return -1;

            } */

            return a-b;

        }

6.Date

    //Date对象

    /* 1.new Date() 获取当前时间

    2.getFullYear() 获取年份

    3.getMonth() 获取月份注意 1月份结果为0

    4.getHours() 小时

    5.getDate() 日期

    6.getMinutes() 分钟

    7.getSeconds() 获取秒

    8.getTime()  获取毫秒值.

    9.toLocaleString() 获取本地的时间格式字符串.

    10.getDay();获得星期

    */

    //空参构造获得当前时间

    var date = new Date();//当前时间

    //填入毫秒数,获得毫秒数对应的时间

    var date2 = new Date(10000000000000);

    /* alert(date.getFullYear());//

    alert(date.getMonth());//

    alert(date.getHours());//

    alert(date.getDate());//

    alert(date.getMinutes());//

    alert(date.getSeconds());//

    alert(date.getTime());//

    alert(date.toLocaleString());//

    alert(date.getDay());// */

    //注意:

    //1.月份计数时是0~11月,所以要加1获得正常月份

    //2.星期计数是 0~6 .

**科普一下**hc就是head count的缩写,意指企业预计招聘的员工人数的意思

//Date对象

/* 1.new Date() 获取当前时间

2.getFullYear() 获取年份

3.getMonth() 获取月份注意 1月份结果为0

4.getHours() 小时

5.getDate() 日期

6.getMinutes() 分钟

7.getSeconds() 获取秒

8.getTime()  获取毫秒值.

9.toLocaleString() 获取本地的时间格式字符串.

10.getDay();获得星期

*/

//空参构造获得当前时间

var date = new Date();//当前时间

//填入毫秒数,获得毫秒数对应的时间

var date2 = new Date(10000000000000);

/* alert(date.getFullYear());//

alert(date.getMonth());//

alert(date.getHours());//

alert(date.getDate());//

alert(date.getMinutes());//

alert(date.getSeconds());//

alert(date.getTime());//

alert(date.toLocaleString());//

alert(date.getDay());// */

//注意:

//1.月份计数时是0~11月,所以要加1获得正常月份

//2.星期计数是 0~6 .

你可能感兴趣的:(JavaScript整理)