js基础知识笔记

168 阅读1分钟
    1 var a = b = 1; 在function 中写会造成变量的全局泄漏 b //挂在window 上
    2 斐波拉切数列
            // 1    1    2    3    5    8    13    21
            // n1   n2   n3
            //     n1   n2   n3
            //         n1   n2   n3
            //             n1   n2   n3
            let n1 = 1;
            let n2 = 1;
            let n3;
            let n = Number(window.prompt('请输入n有效值'))
            if (n <= 0) {
                    alert('undifiend')
                } else {
                    if (n <= 2) {
                        n1 = n2 = 1
                    }
                              for (let i = 0; i < n; i++) {
                            n3 = n1 + n2;
                            n1 = n2;
                            n2 = n3;
                     }
                     console.log(n3)
                }


    3 函数表达式(匿名函数表达式/函数字面量)
            let test = function test1(){
                    let a = 1,b = 2;
                    cosole.log(a, b)
                    test1() // 闭包
            }
            test1() // is not defined 在外部调用是忽略掉的

    4 funtion test(a,b){
                    cosole.log(test.length)  // 形参长度 2
                    cosole.log(arguments.length)  // 实参长度 3
            }
      test(123)



    5 实参传了值 在形参可以修改值, 没有传值在形参中修改是undefined
    var a =1
        function test(a,b){
            console.log(a)  
            console.log(b)
            a = 2; 
            b = 22;
            // a 和arguments[0] 
            console.log(a, arguments[0])  
            console.log(b, arguments[1])  
        }
        test(a)
        console.log(a)