2021-09-28 JS基础第五天


函数的作用域:

函数的作用域的作用有:保护数据的安全( 全局的不安全 ),减少命名冲突

作用域分为三个作用域:全局作用域,局部作用域,块级作用域

全局作用域的特点:全局变量可调用,到处都可以访问

局部作用域的特点:局部变量,只能内部调用,形参属于局部变量

块级作用域的特点:块级变量,智能对应的{}里面使用

作用域链:所有的作用域都是基于全局,开辟一层就会形成一条链,变量的访问以就近原则,自己没有的找上一级,

// 全局作用域(Script, 以前叫Global): 这里定义的变量叫全局变量: 特点是: 哪里都能用(公共的)

        let global = '全局变量'

        // 到处可用: 到处可改(危险: 因此全局变量使用较少)

        // 局部作用域(Local): 函数内部区域, 函数内部定义的变量叫局部变量: 特点是: 只能当前函数内部使用

        // 形参: 属于局部变量, 只能在函数内部使用

        function fn() {

            // 访问全局变量: 可以访问

            console.log(global)

            // 局部变量

            let local = '局部变量'

            console.log(local)

        }

        fn()

        // 全局作用域访问局部变量

        // console.log(local)           // 报错

        // 块级作用域(Block)

        if (true) {

            let block = '块级变量'

            console.log(block)

        }

        // 全局作用域访问块级变量

        // console.log(block)           // 报错

        // 块级的优点: 减少了命名冲突

        for (let i = 0; i < 3; i++) { }

        for (let i = 0; i < 5; i++) { }

        // console.log(i)               // 报错

        // 声明变量一定要let关键字: 否则一律是全局变量

        for (i = 0; i < 10; i++) { }

        console.log(i)

    



匿名函数:没有名字,let 变量名=function(){},调用:变量名()

    


立即执行函数    (function(){}) 调用在后面添加() 函数之间用;隔开

对象

对象的使用

对象的增删改查

增加    对象.新属性名=一个元素

删除    delete 对象.属性名

修改  对象.原有的属性名=新的元素

查找      对象。属性名      对象【字符串属性名】

例子:



对象遍历

用for(let key(属性名) in 对象)

    



难点:在作用域这边比较纠结,对象用法增删改查这边有可能与数组的增删改查搞混。

做案例有点难度,不能一次性写出来,都练习便,复习预习相结合

你可能感兴趣的:(2021-09-28 JS基础第五天)