zoukankan      html  css  js  c++  java
  • 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的值,将导致语法错误。

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

  • 相关阅读:
    11
    TSP-test
    TSP-SA_TSP
    TSP-PathLength
    TSP-OutputPath
    TSP-NewAnswer
    TSP-
    TSp-dsxy2figxy
    TSP-DrawPath
    TSP-Distanse
  • 原文地址:https://www.cnblogs.com/Ruonan-Li/p/5237076.html
Copyright © 2011-2022 走看看