《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的值,将导致语法错误。

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

js 函数(function)的更多相关文章

  1. Js函数function基础理解

    正文:我们知道,在js中,函数实际上是一个对象,每个函数都是Function类型的实例,并且都与其他引用类型一样具有属性和方法.因此,函数名实际上是指向函数对象的指针,不与某个函数绑定.在常见的两种定 ...

  2. js 函数function的几种形式

    //有的时候我们一直都在使用函数,但是却不知道函数使用的正真含义 //其中一个重要的目的是为了提高代码的复用率 //其二函数可以传递参数并有返回值 //函数声明 //不带参数,不带返回值 functi ...

  3. JS:函数多个参数默认值指定

    函数有一个参数时,以往这样定义(参数为p1): function mfun(p1){ … } 当需要为p1设定一个默认值时 function mfun(p1){ if(p1===undefined) ...

  4. [模拟回调] demo1模拟用字符串调用js函数 demo2模拟springmvc controller回调页面js函数

    demo1. 模拟用字符串调用js 函数 function dataQuery() { var strFun = "testCallBack"; var strParam = &q ...

  5. js中的函数function

    js的function对象在调用过程中具有一个arguments的属性,它是由脚本解释器创建的(这也是arguments创建的唯一方式). arguments属性能够看作是一个Array对象,它有le ...

  6. JS系列:函数function

    ### 函数 function > 在js中函数就是一个方法(一个功能体)基于这个函数,一般是为了实现某个功能. ``` var total =10; total+=10; total=tota ...

  7. js中的自执行匿名函数 (function(){})()

    JS函数有两种命名方式 1.声明式 声明式会导致函数提升,function会被解释器优先编译.即我们用声明式写函数,可以在任何区域声明,不会影响我们调用. function XXX(){} 2.函数表 ...

  8. js的函数-function

    function函数 function的英文是[功能],[数] 函数:职责:盛大的集会的意思 在js里,就是函数的意思.在Java里叫做方法. 定义函数 function fun(参数){ //函数体 ...

  9. 【repost】js中(function(){…})()立即执行函数写法理解

    摘要: javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花,当然,能理解各型各色的写法也是对javascript语言特性更进一步的深入理解. ...

  10. js中(function(){…})()立即执行函数写法理解

    文章摘自https://my.oschina.net/u/2331760/blog/468672?p={{currentPage+1}} 摘要: javascript和其他编程语言相比比较随意,所以j ...

随机推荐

  1. 关于onpropertychange与oninput的兼容问题

    关于onpropertychange与oninput的用法,网上一大堆,但还是有不兼容的时候,比如说,我想计下,一个input的值改变了多少次,如果写成兼容写法就为 <!doctype html ...

  2. C# 集合性能 总结

    一.引言 本文主要记录的是C#各种集合操作的性能,下面的标记说明描述标记的时间,下面的表格对比各种集合各种操作的时间. 标记说明: O(1) 表示无论集合中有多少项,这个操作需要的时间都不变,例如,A ...

  3. javascript之对象

    一.创建对象 1.对象直接量. var point = { x:0,y:0 }; //point就是一个对象,跟C#不同,它不需要一定有类才能创建对象. 2.通过new创建对象 var d = new ...

  4. C# GC 垃圾回收

    一.托管 .Net所指的托管资源到底是什么意思呢?是相对于所有资源,还是只限于某一方面的资源?很多人对此不是很了解. 其实.Net所指的托管只是针对内存这一个方面,并不是对于所有的元素:因此对于Str ...

  5. 【ASP.NET MVC路由测试+性能调试工具】

    http://getglimpse.com https://github.com/Glimpse/Glimpse 百度网盘: http://pan.baidu.com/s/1jHuTtKa

  6. Hibernate 配置详解(8)

    hibernate.generate_statistics 这个配置大家应该都很熟悉,用于开启Hibernate统计信息,便于对Hibernate相关性能调试提供数据依据.在开发过程当中,可以把这个选 ...

  7. Cdev

    1,#和##操作符Operator,使用 首个参数返回为一个带引号的字符串 predefined variable was not declared in the scope;

  8. ng-cli

    angluar2 cli 是一个比较好的工具 .解决 Angular 2 环境设置是一大入门门槛,有22%的人说环境设置太过复杂.Angular CLI的诞生,正是为了解决这个问题. 1. 基本介绍 ...

  9. ComponentName的意思

    ComponentName是用来打开其它应用程序中的Activity或服务的. 使用方法: Intent i=new Intent(); i.setComponent(new ComponentNam ...

  10. Codevs1992题解

    题目大意 求有向图中经过某一点k的最大环(数据规模不支持floyd). 题解 以k为起点在正向图中spfa求单源最短路.再在反向图中spfa求单源最短路. 枚举除k外的每个点i.假设有一个同一时候包括 ...