欢迎光临散文网 会员登陆 & 注册

2.JS函数

2022-08-05 17:41 作者:我的GIS  | 我要投稿

JS函数创建类型:

    构造函数: 

        将代码语句以字符串形式传递给构造函数 var fun = new Function("console.log("Hi");");


    函数声明: (类似于声明变量 “var”)

        function fun ([arg1, arg2...]) {语句} 

        利用函数名调用:fun();


    函数表达式(匿名函数):

        function([arg1, arg2...]) {语句}

        var fun = function([arg1, arg2...]) {语句};  // 赋值语句结尾需加“;”

        利用变量名调用:fun();


作用域(变量的作用的范围):

    全局作用域(直接编写在script标签中的JS代码)

        全局作用域中的变量都是全局变量,在页面的任意的部分都可以访问

        在全局作用域中有一个全局对象window

            “变量”都会作为“window对象的属性”保存

                var a = 1;

                console.log(window.a);

            “函数”都会作为“window对象的方法”保存

                function fun() {}

                window.fun();


    函数作用域(相当于小全局)

        在函数作用域中可以访问到全局作用域的变量,在全局作用域中无法访问到函数作用域的变量

        当在函数作用域操作一个变量时,它会先在自身作用域中寻找,如果有就直接使用,如果没有则向上级作用域中寻找

        在函数中要访问全局变量可以使用window对象

            function fun() {

                console.log("a = " + window.a);

            }

        在函数中,不使用“var”声明的变量都会成为“全局变量”,相当于:window.a = 1;

            function fun() {

                a = 1;

            }

            console.log(a); ➡ 1

        定义形参就相当于在函数作用域中声明了变量


声明提前:

    变量的声明提前:

        “var”关键字声明的变量, 会在所有的代码执行之前被声明(但是不会赋值)

            var a = 1;

        但是如果声明变量时不使用“var”关键字,则变量不会被声明提前

            a = 1;

    函数的声明提前:

        “函数声明”形式创建的函数,它会在所有的代码执行前被创建,所以可以在函数声明前来调用函数

        function fun() {}

        “函数表达式”创建的函数,不会被声明提前,所以不能在声明前调用

        var fun = function() {};




2.JS函数的评论 (共 条)

分享到微博请遵守国家法律