10.前端JavaScript之【函数】&【全局变量与局部变量】

目录

1.函数

2.函数的全局变量与局部变量

1.函数

1.定义
    (1)在python定义函数需要用到关键字def
       在js中定义函数需要用到关键字function
    (2)格式:function 函数名(形参1,形参2,形参3...){函数体代码}


2.无参函数
    function func1(){                       // 定义
        console.log('hello world')
    }
    func1()                                 // 调用 加括调用 跟python是一样的


3.有参函数
    function func2(a,b){                    // 定义
        console.log(a,b)
    }
    (1)正常对应传参 
        func2(1,2)                          // 1,2
    (2)传参多了不会报错
        func2(1,2,3,4,5,6,7,8,9)            // 1,2
    (3)参数少了也不会报错
        func2(1)                            // 1
    (4)补充:获取函数接受到的所有的参数-关键字arguments
        function func2(a,b){
            console.log(arguments)          // 传多少拿多少
            console.log(a,b)
        }
    (5)用关键字arguments做代码提醒
        function func2(a,b){
            if(arguments.length<2){
                console.log('传少了')
            }else if (arguments.length>2){
                console.log('传多了')
            }else{
                console.log('正常执行')
            }
        }


4.函数的返回值-关键字return
    (1)用法:
        function index(){
            return 666
        }
    (2)当return多参数并列,只return最后一个参数
        function index(){
            return 666,777,888,999
        }
        res = index();                  // 999
    (3)return也能返回数组
        function index(){
            return [666,777,888,999]
        }
        res = index();                  // [666,777,888,999]
    (4)补充:js不支持解压赋值


5.匿名函数-没有名字
    (1)语法
        function(){
            console.log('哈哈哈')
        }
    (2)用处:
        var res = function(){console.log('哈哈哈')}


6.箭头函数(要了解一下) 
    (1)用处:处理简单的业务逻辑 类似于python中的匿名函数
    (2)语法:
        var func1 = v => v;             //箭头左边的是形参 右边的是返回值
        等价于:
        var func1 = function(v){
            return v
        }
    (3)补充:传多个参数
        var func2 = (arg1,arg2) => arg1+arg2
        等价于
        var func1 = function(arg1,arg2){
            return arg1+arg2
        }

2.函数的全局变量与局部变量

函数的全局变量与局部变量
1.跟python查找变量的顺序一致(去定义阶段找)
2.例题1
    var city = "BeiJing";
    function f() {
        var city = "ShangHai";
        function inner(){
            var city = "ShenZhen";
            console.log(city);
        }
        inner();
    }
    f();                    //输出结果是ShenZhen


2.例题2
    var city = "BeiJing";
    function Bar() {
        console.log(city);
    }
    function f() {
        var city = "ShangHai";
        return Bar;
    }
    var ret = f();
    ret();                 // 输出结果是BeiJing


3.例题3
    var city = "BeiJing";
    function f(){
        var city = "ShangHai";
        function inner(){
            console.log(city);
        }
        return inner;
    }
    var ret = f();
    ret();                 // 输出结果是ShangHai
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值