JavaScript的控制语句和循环语句和函数的总结

时间:2022-09-08 17:16:59
10、控制语句---if语句


    10_1:if-else语句
        if(表达式){
            语句1;
            。。。。
        }else{
            语句1;
            。。。。
        };

        示例:
            var a = 1;
            if (a > 0){
                alert("a大于0")
            }else {
                alert("a小于0")
            }


    10_2、if-else if--elsey语句
        if(表达式){
            语句1;
            。。。。
        }else if(表达式){
            语句1;
            。。。。
        }else{
            语句1;
            。。。。
        }


11、控制语句switch
    switch(表达式){
        case 值1:
            语句1;
            break;
        case 值2:
            语句2;
            break;
        case 值3:
            语句3;
            break;
        default:
            语句4;
    }



12、循环语句---for循环表达式1

    var l = [1,"2","a"]
    for (var i in a){
        console.log(i);
        这里的i是id,而不是值
        console.log(a[i]);
    }

    循环语句--for循环表达式2
    for (var a = 1;i <= 10;i++){
        alert(i)
    }

13、循环语句--while语句
    while (表达式){
        语句1
        。。。。。。
    }

14、异常处理
    try{

    }
    catch(e){

    }
    finally{

    }

15、javascript的对象类型
        ECMAscript
        Dom
        BOM


    ToString():返回对象的元是字符串表示
    ValueOf():返回最后该对象的原始值,对于许多对象,该方法返回的值都与ToString相同

    一共有11个内置对象
    Array
    String:字符串对象  var s = new String("hello"),定义一个字符串的对象
    Date:时间对象
    Math
    Boolean:布尔值对象
    Number:数字对象
    Function:函数对象
    Global
    Error:错误对象
    RegExp:正则表达式的对象
    Object:原生的类的对象

16、重点讲一下function对象
    1、创建函数的方式1,也可以有返回值
        function test_func() {
            alert(123)
            return "aaaa"
        }
        var res = test_func()
        alert(res)
     2、创建函数的方式2,这种方式没有大括号,这种方法不要使用就可以了
     var test_func = new Function ("参数1","参数2","参数n","函数体");

     3、函数的特性
        3_1、length特性
            function test_func(a,b,c) {
                alert(123)
                return "aaaa"
            }
            var res = test_func(1,2,3)
            alert(test_func.length)

            这个length的值是函数的参数的个数

        3_2、函数内部定义的变量是局部变量,在函数外部是不能使用的
        function func1() {
            var a = 1;
        }
        func1()
        alert(a)

        这里在函数外部打印函数内部的变量是会报错的



        function func1() {
            var a;
            alert(a)
        }
        func1()
        这里在函数内部没有对a赋值,也是可以打印的,javascript会给a赋值为undefined


        javastript如果在定义函数的时候只有2个形参,而在调用函数的时候传递了超过2个
        的实参,这样的形式在javascript中不会报错的

        function func1(a,b) {
            var ret = a + b;
            alert(ret)
        }
        func1(1,2,3)

        这里的a会赋值给1,b会赋值给2,得到的结果是3



        arguments这个javascript默认定义好的对象,我们看下下面的例子
       function test() {
            alert(arguments.length);
            console.log(arguments);
        }
        test("a","b","c","d")


        alert(arguments.length); 这一句返回的时候实参的个数,这里也就是4
        console.log(arguments);这一句返回一个auguments对象,他的内容是一个数组
        内容如下
        0:a
        1:b
        2:c
        3:d


        看下一个例子,实现自动去匹配函数的实参,然后根据实参的个数自动去累加
        var ret = 0
        function test() {
            alert(arguments.length);
            for (var i in arguments){
                  ret = ret + arguments[i];
            }
            return ret
        }
        alert(test(1,2,3,4,2345))


        可以通过argument.length去判断参数的个数,如果不对,则抛出错误
       var ret = 0
        function test() {
            alert(arguments.length);
            if (arguments.length != 2){
                throw new Error("参数的个数不正确")
            }
            for (var i in arguments){
                ret = ret + arguments[i];
            }
            return ret
        }
        alert(test(1,2,3,4,2345))




     5、匿名函数,这个虽然没有给函数取名字,但是把函数地址赋值给变量func,可以通过func执行函数
     var func = function (){
        语句
     }


     6、自执行函数,定义一个函数,然后在函数后加一个括号,直接执行函数就可以了,非常节省资源
     (function(arg){
        语句
     }
     )("123")