欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

前端提高篇(十)JS进阶7函数:创建、return、作用域

程序员文章站 2024-01-04 20:40:58
...

创建方法

静态方法

        //静态创建函数方法一:
        function add1(a, b){
            return a+b;
        }
        //静态创建函数方法二
        var add2 = function(a,b){
            return a+b;
        }

动态创建

//动态创建函数
var add3 = new Function('a','b','var c = a + b;return c');

区分函数的定义和使用

add(),是函数调用,执行

return

当要返回多个值时,需要将多个值打包在一个数组或一个对象内,不能分开返回

作用域

函数嵌套

函数A中嵌套了函数AA和AB,在A中可以调用AA和AB,在A之外就不能调用了
前端提高篇(十)JS进阶7函数:创建、return、作用域

        //作用域
        function add(a,b){
            function add1(){
                console.log('a');
            }
            add1();
        }
        add(1,2);

在这段代码中,只有在add函数中才能调用add1函数,并且要在外部调用add函数

变量

局部变量VS全局变量,这篇文章有写过

一个变量如果只在小圈范围函数被定义,如AB,在大圈是访问不到的,如A,即A访问不到AB里的变量

动态函数不一样

动态创建的函数与图中的A、B函数是平级的,都处于大世界中,所以A、B函数里定义的变量,动态函数是看不见的
前端提高篇(十)JS进阶7函数:创建、return、作用域

        var x = 1;
        function func(){
            var x = 2;
            function e1(){
                return x;
            }
            var e2 = new Function('return x;')
            return [e1(),e2()]
        }

运行效果:
前端提高篇(十)JS进阶7函数:创建、return、作用域

如果返回的是[e1,e2],返回的是函数的地址组成的数组
前端提高篇(十)JS进阶7函数:创建、return、作用域

上一篇:

下一篇: