你的位置:首页 > 软件开发 > Java > JavaScript 高级程序设计(第3版)笔记——chapter3:基本概念(函数部分)

JavaScript 高级程序设计(第3版)笔记——chapter3:基本概念(函数部分)

发布时间:2016-03-16 22:00:04
3.7函数3.7.1 理解参数ECMAScript 函数不介意传递进来多个参数,也不在乎传递进来的参数是什么数据类型。因为在 ECMAScript 中的参数在内部是用一个数组来表示的。在函数体内可以通过arguments对象来访问这个参数数组,从而获取传递给函数的每一个参数。命名 ...

3.7函数

3.7.1 理解参数

  • ECMAScript 函数不介意传递进来多个参数,也不在乎传递进来的参数是什么数据类型。因为在 ECMAScript 中的参数在内部是用一个数组来表示的。在函数体内可以通过arguments对象来访问这个参数数组,从而获取传递给函数的每一个参数。
  • 命名的参数只提供便利,但不是必需的。
  • arguments 对象可以与命名参数一起使用。
  • arguments对象的值永远与对应命名参数的值保持同步。不过,这并不是说读取这两个值会访问相同的内存空间。它们的内存空间是独立的,但它们的值会同步。
  • arguments对象的长度有传入的参数的个数决定,不是由定义函数时的命名参数的个数决定的。没有传递值的命名参数将自动被赋予undefined值。
  • ECMAScript 中所有的参数传递的都是值,不可能通过引用传递参数。

arguments对象与命名参数的关系:

 1 function say_hello(var1, var2, var3) { 2   var len = arguments.length; 3    alert(len); 4   for (i in arguments) { 5      alert(arguments[i]); 6    } 7    alert(var1); 8    alert(var2); 9    alert(var3);10 }11 12 say_hello(); //0, undefined, undefined, undefined13 say_hello("first"); // 1, first, first, undefined, undefined14 say_hello("first", "second", "third"); // 3, first, second, third, first, second, third15 say_hello("first", "second", "third", "forth");// 4, first, second, third, forth, first, second, third

原标题:JavaScript 高级程序设计(第3版)笔记——chapter3:基本概念(函数部分)

关键词:JavaScript

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。