函数进阶

本文深入探讨JavaScript函数的进阶话题,包括变量作用域(全局与局部变量、作用域链)、预解析机制,以及函数的返回值与封装。讲解了return关键字的功能,强调了函数返回值的类型可以多样化,并提供了函数封装示例,特别是针对样式兼容性的封装方法。
摘要由CSDN通过智能技术生成

函数进阶

一、变量作用域

变量的作用范围
在ES5中,根据变量的作用范围不同,将变量分为:
全局变量:在整个文档中都有效(任何地方都能访问,任何地方都能修改),在函数外声明的变量都是全局变量

 for (var i = 0; i < 3; i++) {
   //i全局变量
            console.log(i);//0 //1 //2 
        }
        console.log(i);//3
        var a = 10;//全局变量
        console.log(a);//10
        <script>
            console.log(a);//10
        </script>
        var a = 10;//全局变量
         function show(){
   
         console.log(a);//10
         }
         show();
        var a = 10;//全局变量
          if(true){
   
           console.log(a);//10
          }
    {
   //代码块
    var b=100;//全局变量
    console.log(b);//100
    }
    console.log(b);//100

局部变量:在指定返回有效(函数内能访问,出了函数就访问不到)在函数内声明的变量(包括参数部分)

var a=10;//全局变量
        function fn(){
   
            var b=20;//局部变量
            console.log(b);
            console.log(a);//全局变量
        }
        
        console.log(b);//报错 局部变量只在函数内有效
        fn();//20 10
function show(a, b) {
   
            console.log(a, b);
        }
        
        show(10, 20);//10   20
        console.log(a,b);//报错 
        //局部变量(包括参数部分)只在函数内有效
var a=10;//全局变量
        function fn(){
   
            console.log(a);//10
            a=20;//修改了全局变量的值
            console.log(a);//20
        }

        fn();
        console.log(a);//20
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值