JavaScript函数的作用域、变量使用规则、作用域链、递归函数以及简单的了解对象,数组的运用

本文详细介绍了JavaScript中的作用域概念,包括全局和局部作用域、作用域链以及变量访问和赋值规则。接着,讨论了递归函数的原理和注意事项,并举例说明了递归在解决特定问题上的应用。此外,还探讨了对象的理解,如何创建和操作对象,以及数据类型的使用,如数组和对象的遍历操作。最后,提供了一些练习题,帮助读者巩固所学知识。
摘要由CSDN通过智能技术生成

一、作用域

       1. 声明变量起作用的范围

            1.全局作用域:整个js全局作用

            2.局部作用域:在函数体中作用范围

                内层可以访问外层作用域变量

                外层不能访问内层作用域变量

<script>
        var num = 100
        function fn() {
            // 局部作用域
            var num1 = 200
            console .log("num11",num)
            function fun(){
                var num2=300

                console .log("num2",num2)//旨在函数体中被访问
            }fun()


        }
        // console .log("num1",num1)//Uncaught ReferenceError: num1 is not defined
        console .log("num22",num)
        fn()

    </script>

2.作用域访问规则:如下例子

<script>
        var num = 100
        function fun1(){
            var num1=200
            console.log("fun1 num",num)
            function fun2(){
                var num2=300
                console.log("fun2 num",num)//如果上级的作用域没有,接着向上找,直到全局作用域
                console.log("fun1 num",num1)//如果当前作用域没有找到,到上级作用域找
                console.log("fun2 num",num2)//当前作用域找访问的变量
                console.log(num3);//全局作用域都没找到报错:Uncaught ReferenceError: num1 is not defined
            }
        }


</script>

3.作用域的赋值规则:如下例子

<script>
        var num = 100
        function fun1() {
            var num1 = 200
            // console.log("fun1 num",num)
            function fun2() {
                var num2 = 300//赋值前在当前作用域查找
                num1 = 400//上级作用域查找,找到赋值
                num = 500//上级作用域查找,直到全局作用域
                num3 = 600//上级作用域查找,全局作用域查找,全局作用域也没有查找到,将自动创建全局变量,然后赋值


            }
        }


    </script>

作用域链:(重点)

变量访问或赋值时,
先在自己的作用域查找,
如果没找到,再一层一层向上查找,至到最外层全局作用域。
这种层层查找关系,叫作用域链

二、递归函数

递归函数:

              函数自身调用自身,这样的函数成为递归函数

              注意:

                 1. 要有递归结束的条件

                 2.改变递归的条件的代码

<script>
        //   死递归
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值