ECMAscript 中通过 function 关键字来定义函数。后面跟一组参数 和函数体。
function name(arguments1,arguments2){ //函数体 }
通过 函数名 和 小括号 调用,括号内就可以传入实参。
可以使用语句 return 来实现想要返回的值或者表达式。
除了return 语句之外,没有任何声明表示 该函数可以返回一个值,当没有return 语句时,默认的可以返回一个 undefined。
函数会在在 执行完 return 语句之后会立即退出 函数,所以位于 return 之后的任何代码都永远不会执行。
所以 当不需要返回值时,也可以直接 使用return 来终止函数的运行。
严格模式 ‘use strick’ 下,相同函数名会出现 报错, 不能使用 eval ,arguments 等关键字作为函数名。
函数的参数可以使用 形参名 ,也可以使用arguments 【0】来进行调用,因为 函数的参数是保存在名称为arguments 的一个数组里。
在函数体中可以 使用形参名也可以使用 arguments ,二者可以同时出现。可以通过 argumens。length 来查看传入参数的个数。arguments 的值永远和队名命名参数的值保持一致。
严格模式下,如果arguments[0]的值存在,而 arguments[1] 的值未传入,则在函数中给 arguments[1] 赋值的话,则arguments[1] 的值依然是undefined,并且会报错。
没有重载
java 中可以通过相同的函数名 ,不同的参数 个数或者类型来 实现功能相似,参数不同的功能,但是 在javascript 中不行。
在 javascript 中可以在函数体内进行 参数类型 或者个数的判断来模仿 实现函数重载。
cookies 4k, localStorage 5M