17 笔记

块级作用域

<body>
    <script>
        // js两种作用域
        //全局作用域,在函数外面let变量
        //全局作用域,在函数里面let变量
        if (1) {
            let age = 19
            console.log(age);
        }
        for (let i = 0; i < 6; i++) {
             console.log('循环内部;'+i);
       }
           console.log('循环外部;'+i);
     </script>
    
</body>

<body>
    <script>
        //【全局作用域】
        //在代码中任意地方都能访问到的对象拥有全局作用域。
        //(即在全局作用域中定义的变量可以在任何地方使用。)
        //全局作用域在页面打开时创建,在页面关闭时销毁。
        //【情况一:所有未定义直接赋值的变量自动声明为拥有全局作用域】
        function Fun1(){
        a = '未定义直接赋值的变量';
        var b='内层变量'
        }
        Fun1();
        conso1e.log(a);//未定义直接赋值的变量
        console.log(b);//b is not defined
        //注意:如果一个变量在声明的时候没有使用关键字。
        //例如:um=10,此时这个变量无论写在哪里都是全局变量。
        //但是这是非常不规范的,千万不要这么写,否则以后代码可能会出现bug。
         //【情况二:最外层函数和最外层函数外面定义的变量拥有全局作用域】
        var A='最外层变量';//最外层变量
        
        function outFun(){//最外层函数
        var B= '最外层函数的内层变量'
        
        function innnerFun(){//内层函数
        var C= '内层函数的内部变量'
        }
    }
        console.log(A);//最外层变量
        //console.log(B);//B is not defined
        outFun()
        innerfun()//innerfun is not defined
        //console.log(C);//c is not defined
        //【情况三:所有window对象的属性拥有全局变量】
        //在全局作用域中有一个全局对象window,他代表的浏览器的窗口,由浏览器创建。
        //一般情况下,window对象的内置属性都拥有全局作用域,例如window.name、window.location
       </script>
</body>

 作用域链

<body>
    <script> 
    let num =10
    function fn1(){
    let num =20;
    console.log(num);
    function fn2(){
    let num =30;
    console.log(num);
    }
    fn2()
   }
    fn1()
    console.log(num);
    </script>
   
    
</body>

 ·匿名函数

<body>
    <script>
        //【匿名函数】
   //没有函数名的函数。
     //具名函数
    function fn(){
   console.log('999');
    }
   fn()
   //匿名函数
   let fn1 = function(){
   console.log('333');
   }
    //fn1()
   //执行匿名函数:自执行语法
    //自执行语法:(匿名函数)()
    (function (){
      let num = 10
    console.log('111');
     })
    </script>
</body>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值