js 函数 function

《Javascript高级程序设计第三版》

3.7 函数

  1. ECMAScript中的函数在定义时,不必指定是否返回值。

  2. 位于return语句之后的任何code都永远不会执行。(之所以写这一条;因为学习时,被残酷的debug和规定强行接受了,)

  3. 可以通过直接使用return来停止执行当前code,并返回undefined。一般这种用法在需要提前终止code又不需要返回值的时候。

  4. use strict,不能将函数&参数命名为eval&arguments,不能出现两个参数同名的情况。(其实在非strict下,也不推荐;只不过在strict下,会导致语法错误)

 

3.7.1 理解参数(arguments)

  1. arguments 是一个object,包含一个用于存放传入参数的Array、传入参数的个数。

  2. 命名的参数只是提供便利,但不是必需的。

    function fnHowManyArgs(){

      alert(arguments.length);

    }

    fnHowManyArgs(12,"aa");  // 2

    fnHowManyArgs();  // 0

    fnHowManyArgs(2);  // 1

    可以利用这个特性来弥补ECMAScript没有重载的缺憾:

    function fnAdd(){

      var sum;

      swith(arguments.length){

 

        case 1:

          sum = arguments[0]+100;

          breaks;

        default:

          sum=100;

          breaks;

      }

      return sum;

    }

  3. arguments 的值永远与对应的传入参数的值保持同步,但二者具有独立的内存空间

  4. arugments 的长度由传入的参数决定,不是由定义函数时的命名参数决定的。

  5. 没有传值的命名参数将自动被赋予undefined。

  6. use strict,修改arguments的值,将导致语法错误。

纯记录,如有错误,请留言交流

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值