04-JavaScript函数

1.4自执行函数
        (function() {
            console.log("这是自执行函数");
        })();

2.创建函数

        //1.创建函数
        function fun(a, b) {
            console.log(a + b);

            //2.返回值
            return a + b;

            //3.return之后的语句不执行
            console.log(a);
        }

        fun(1, 2);

        console.log(fun(1, 2)); //4.函数返回值

        var res = fun(4, 5);
        console.log(res);

3.arguments对象

function fun(a, b, c, d) {
            console.log(a);
            console.log(b);
            console.log(c);
            console.log(d);

            //1.arguments对象    
            //传递的参数组成的伪数组
            console.log(arguments);
            //2.数组,伪数组不能使用数组的操作方法
            console.log(arguments[0]);
            console.log(arguments.length);
        }

        fun(1, 2, 3, 4);


        //3.不管有没有形参,只要传递实参,都会存到arguments对象里
        function fun2() {
            console.log(arguments);

            //4.arguments对象作用:不固定参数的情况下,求所有参数之和(遍历)
            var sum = 0;
            for (i = 1; i < arguments.length; i++) {
                sum += arguments[i];
            }
            console.log(sum);
        }
        fun2(1, 2, 3, 4, 5, 6, 7, 8, 9)

4.函数也是一种数据类型

        function fun() {
            console.log("hello world");
        }

        //1.函数是数据类型,引用数据类型
        console.log(typeof fun);


        function fun2(a) {
            //fun();
            a();
        }

        //2.调用fun2.函数可以当作参数来传递
        fun2(fun);

5.作用域

        // 全局作用域
        var num1 = 10; // 全局变量

        console.log(num1);

        // 创建函数
        function fun() {
            console.log(num1);

            // 局部作用域
            var num2 = 20; // 局部变量
            console.log(num2);

            num3 = 30;
        }
        fun();

        console.log(num3);

        // 作用域链:在当前作用域中没有查到值,就会向上级作用域去查,直到查到全局作用域,这么一个查找过程形成的链条就叫做**作用域链**。

6.作用域链

        var num = 10;

        function fun1() {
            // var num = 20;
            function fun2() {
                // var num = 30;
                console.log(num);
            }
            fun2();
        }

        fun1();

        // 案例1
        function f1() {
            // var num = 123;
            function f2() {
                console.log(num);
            }
            f2();
        }
        f1();
        var num = 456;

7.函数案例

        // 1.
        // var x;
        // console.log(x)
        // x = 3;


        // 2.
       

**真题解析、进阶学习笔记、最新讲解视频、实战项目源码、学习路线大纲**
**System.out.print(详情关注公中号:编程进阶路)**

 // var a = 1;
        // function test() {
        //     console.log(a);
        //     var a = 1;
        //     // var a;
        //     // console.log(a);
        //     // a = 1;
        // }
        // test();


        // 3.
        // var b = 1;
        // function fun1() {
        //     b = 2;
        //     function fun2() {
        //         var b = 3;
        //         console.log(b);
        //     }
        //     fun2();
        //     console.log(b);
        // }
        // fun1();
        // console.log(b);
#### 总结

=============================================================

从转行到现在,差不多两年的时间,虽不能和大佬相比,但也是学了很多东西。我个人在学习的过程中,习惯简单做做笔记,方便自己复习的时候能够快速理解,现在将自己的笔记分享出来,和大家共同学习。

**[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)**

个人将这段时间所学的知识,分为三个阶段:

第一阶段:HTML&CSS&JavaScript基础



![](https://img-blog.csdnimg.cn/img_convert/3e0d5b0f6a97b823cc1ef22ff1a18191.png)

第二阶段:移动端开发技术



![](https://img-blog.csdnimg.cn/img_convert/fc21db0a800494796dc6408ce1486031.png)



第三阶段:前端常用框架



![](https://img-blog.csdnimg.cn/img_convert/644efd4ddd0f8d43535f1982ec0da6e4.png)



*   推荐学习方式:针对某个知识点,可以先简单过一下我的笔记,如果理解,那是最好,可以帮助快速解决问题;如果因为我的笔记太过简陋不理解,可以关注我以后我还会继续分享。



*   大厂的面试难在,针对一个基础知识点,比如JS的事件循环机制,不会上来就问概念,而是换个角度,从题目入手,看你是否真正掌握。所以对于概念的理解真的很重要。



  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值