JavaScript的基本概念----函数

函数

函数是定义一次但却可以调用或执行任意多次的一段JS代码。函数有时会有参数,即函数被调用时指定了值的局部变量。函数常常使用这些参数来计算一个返回值,这个值也成为函数调用表达式的值

一.函数声明

函数对任何语言来说都是一个核心的概念。通过函数可以封装任意多条语句,而且可以在任何地方、任何时候调用执行。ECMAScript中的函数使用function关键字来声明,后跟一组参数以及函数体。
    function box() {                            //没有参数的函数
        alert('只有函数被调用,我才会被之执行');
    }
    box();                                  //直接调用函数
    function box(name, age) {                   //带参数的函数
        alert('你的姓名:'+name+',年龄:'+age);
    }
    box('hcd',24);                          //调用函数,并传参

二.return返回值

带参和不带参的函数,都没有定义返回值,而是调用后直接执行的。实际上,任何函数都可以通过return语句跟后面的要返回的值来实现返回值。
1.
     function box() {                           //没有参数的函数
        return '我被返回了!';                    //通过return把函数的最终值返回
     }          
     alert(box());                              //调用函数会得到返回值,然后外面输出
2.
    function box(name, age) {                   //有参数的函数
        return '你的姓名:'+name+',年龄:'+age;//通过return 把函数的最终值返回
    }
    alert(box('hcd', 24));                      //调用函数得到返回值,然后外面输出
3.我们还可以把函数的返回值赋给一个变量,然后通过变量进行操作。
    function box(num1, num2) {                  
        return num1 * num2;
    }
    var num = box(10, 5);                       //函数得到的返回值赋给变量
    alert(num);
4.return语句还有一个功能就是退出当前函数,注意和break的区别。
    function box(num) { 
        if (num < 5){                        //满足条件,就返回num
           return num;
        }               
        return 100;                         //返回之后,就不执行下面的语句了
    }
    alert(box(10));
  PS:break用在循环和switch分支语句里。

三. 参数

函数的参数和数组是类似的,有一个放置所有参数的类数组arguments
    function add(a){
        console.log(arguments[0])
    }
    add(123)//123,arguments[0]对应传入的第一个参数
    function add(a,b){
        console.log(arguments[1])
    }
    add(123)//undefined,并没有传入,arguments[1]也就没有了,对于没有传入的参数为undefined
    function add(a,b){
            arguments[0] = 10;
            console.log(a);
    }
    add(1);//10,arguments[0]也就是被传入的第一个参数,被赋值为10,a也就被赋值为10了
function add(a,b){
        arguments[0] = 10;
        console.log(a);
}
add();//undefined
arguments[0]对应传入的第一个参数,而没有传入参数arguments[0]根本就是不存在的,赋值也是没有的

四. 没有重载

如果两个函数的名字一样,那么改名字只属于后定义的函数
    function add(){
        console.log(arguments[0])
    }
    function add(){
        console.log("pppppppppppp")
    }
    add(123)  //"ppppppppp"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值