Notes of Functions of JavaScript

  1. 定义函数可以使用可变个参数,而且函数既可有return语句也可没有。
  2. JavaScript 是一种无类型语言,所以不能给函数参数指定一个数据类型,JavaScript也不会检测传递的数据是不是函数所要求的类型。如果参数的类型是必要的,可以使用 typeof 运算符检测。
  3. JavaScript 的函数无需声明类型,参数不一致也可调用,按照名称来调用。
    1. function helloworld(a, b, c) { ...}
    2. 这些都可以调用它:helloworld(), helloworld(a), helloworld(1, 2, 3), ...
    3. JavaScript不会检测传递给它的函数参数的个数是否正确,如果少了,那么其余没有传递进来的参数就会被赋值 undefined,如果多了,多余的就会被忽略掉。
  4. 标识符 arguments 应该被当作保留字,不能将它作为变量名或形式参量名。
  5. In JavaScript, however, functions are data just like any other value, so they can be returned from functions, assigned to object properties, stored in arrays, and so on.
  6. JavaScript 支持同名函数,和参数个数没关系,但只会使用最后声明的那个。
  7. JavaScript的函数的入口参数不能用var限定?function(var x)是非法的吗?是的。我如此写就不能工作,但改成function(x)就OK了。

疑问:

  1. 现在 JavaScript 是否允许在循环和条件语句中定义函数?