系统函数

159 阅读2分钟

parseInt()会取整数

parseFloat() 转成浮点数

isNaN()判断 是不是一个数字

全局变量:在函数外声明的变量,网页上的所有脚本和函数都能访问它

局部变量:在函数内部声明的变量(必须使用var)

全局变量 具有全局的作用域

局部变量 具有局部作用

添加学员 展示学员信息

    /* let arr = []; */
    function addStu(){
        /* 局部变量 具有局部作用 */
       /*  arr只有变成全局的才不会被重复定义
        let arr = []; */

        let stu = prompt('输入学员姓名')
        arr.push(stu)
        console.log(arr);
    }
    function showStu(){
        document.write(arr.join(' '));
    }
/* 变量提升 */
    /* 当你下面使用var的时候会出现变量提升的情况 */
    /* var a  =>  a = undefined (已经声明了 
    但是没有赋值,给了一个初始值叫做undefined ) */
    /* console.log(a);
    var a = '123'; */

    /* var a = 123;
    var a = 456;
    console.log(a); */

    /* let 不存在变量提升,不能在还没有初始化的时候
    使用变量,否则就给报错 下面的代码就不会被执行 */
    /* console.log(a)
    let a = '123'
    console.log(123); */
    /* let不能够重复定义 */
    // let a = 123;
    // let a = 456;
    // console.log(a);

    /* 函数是js里面的一等公民 */

    /* 声明了function会提升函数到最前面 */

    /* 页面一加载的时候会先找有没有 var 和 function
    如果发现有var 就会把变量预定义为undefined
    如果发现有function 就会把function这个方法放在最前面 */


    /* 
        function fn(){
            console.log(111);
        }
        a = undefined
    */
    // fn();
    // var a = '123'
    // function fn(){
    //     console.log(111);
    // }

    /* 定义个变量 在定义一个函数 变量是一个字符串
    在函数里面打印出来 */

    /* a是一个全局的变量 */

    /* 
        变量提升阶段
        function fn(){
            console.log(a);
        }
        a = undefined

        代码执行阶段
        打印undefined
        a被赋值成 123
        最后打印123
    */

    fn();
    var a = '123'
    function fn(){
        console.log(a);
    }
    console.log(a);
</script>

  /* 
        function f1(){
            var num=1;
        }
        alert(num); 
    错误
    原因:在函数外部无法读取函数内的局部变量

    */
    /* 一个函数就可以理解为一个闭包 */
    /* function f1() {
        alert(1);
    } */

    /* 
        闭包的用途
可以读取函数内部的变量
让这些变量的值始终保持在内存中

    */

    function fn1(){
        let a = 1
        /* 代码中的内部函数(fn2)就是闭包
 */
        /* 可以把闭包简单理解成"定义在一个函数内部的函数" */
        /* 是将函数内部和函数外部连接起来的一座桥梁 */
        function fn2(){
            /* 闭包就是能够读取其他函数内部变量的函数 */
            document.write(a);
        }
        return fn2;
    }
    /* console.log( fn1() ) */
    /* 通过这种方式 就可以得到fn1的局部变量a的值 */
    fn1()()
    /* function fn(){}
    console.log(fn); */