• 位于return语句之后的代码不会执行;
  • return语句也可以不带有任何返回值. 这种情况下, 函数在停止执行后会返回undefined值. 这种用法一般用在需要提前停止函数执行而又不需要返回值的情况下.
  • 严格模式对函数的限制:
    • 不能把函数命名为eval或arguments
    • 不能把参数命名为eval或arguments
    • 不能出现两个命名函数同名的情况

    如果发生以上错误,就会导致语法错误,代码无法执行  

3.7.1 理解参数

在ECMAScript中,参数在内部是用一个数组来表示的. 因此解析器不会关心传入的参数个数或类型. 命名的参数只提供便利而不是必须的

在函数体内可以通过arguments对象来访问这个参数数组, 从而获取传递给函数的每一个参数.

ECMAScript中的所有参数传递的都是值,不可能通过引用传递参数

arguments对象:

  • 只是与数组类似,但并不是Array的实例, 可以用方括号语法来访问其元素.
  • 可以用length属性来确定传递进来多少个参数
  • arguments对象可以和参数名一起使用, 它的值永远和对应命名参数的值保持同步
  • 没有传递值的命名参数将自动被赋予undefined的值

在严格模式下:

  • 即使对arguments[i]赋值,对应命名参数的值仍然是undefined
  • 重写arguments的值会导致语法错误

3.7.2 没有重载

  因为没有函数签名,因为其函数参数是以一个包含零或多个值的数组的形式传递的.

  但是通过检查传入参数的类型和数量并作出不同的反应, 可以模仿方法的重载.

最新文章

  1. ASP.NET MVC 简介
  2. 如何将Debug文件夹下的资源打包成一个EXE文件直接执行
  3. 【Python】 [基础] 条件判断 与 循环 与dict和set
  4. JavaScript简介及基础知识(1)
  5. Call and Apply in JavaScript
  6. WPF的ListBox中的RadioButton不能单选问题
  7. How many ways(记忆化搜索)
  8. 如何在vuejs中抽出公共代码
  9. 201521123076《Java程序设计》第2周学习总结
  10. Sublime Text3注册码,亲测可用
  11. UltraEdit注册机 及使用方法详解
  12. 学习Python--变量进阶
  13. BZOJ4665: 小w的喜糖 DP
  14. 起源-C的故事
  15. HttpWebRequest.AddRange 支持long类型
  16. sqli-labs第一节 get-字符型注入
  17. 架构 规则引擎 quartz
  18. JQuery operate xml
  19. python2和python3的区别总结
  20. poi excel 加粗

热门文章

  1. cookie的基本用法
  2. js记录
  3. MD5加密获得文件的MD5码
  4. 面向对象 Java练习
  5. Java中的内存划分
  6. swiper3d横向滚动多张炫酷切换banner
  7. Python GUI 编程
  8. 在用easyui中做CRUD功能时,当删除一行或多行数据后再点击修改会提示你选中了多行,如何解决这个bug了?
  9. 2018.06.30 cdq分治
  10. ABP框架 - 缓存( 转)