JS的函数和Python类似,但是JS的函数更灵活。

函数声明与调用

  1. // 1.声明
  2. function 函数名(参数1,参数2,...){
  3. 语句体(函数体)
  4. return value
  5. }
  6. // 2.调用
  7. 函数名(实参)
  1. function foo() {
  2. console.log("foo函数")
  3. }
  4. foo() // 函数调用

函数参数

  1. function 函数(形参1,形参2,...){
  2. 函数体
  3. }
  4. 函数名(实参1,实参2,...)
  1. function foo(x,y) {
  2. console.log("x:",x);
  3. console.log("y:",y);
  4. }
  5. foo(1,2,3);
  6. foo(1);
  1. // 默认参数
  2. function stu_info(name,gender="male"){
  3. console.log("姓名:"+name+" 性别:"+gender)
  4. }
  5. stu_info("yuan");
  6. // arguments对象
  7. function add() {
  8. // console.log("arguments:",arguments);
  9. // console.log(x+y)
  10. var ret = 0;
  11. for(var i in arguments){
  12. ret+=arguments[i]
  13. }
  14. console.log(ret);
  15. }
  16. add(2,4,5);

函数返回值

  1. function add(x,y) {
  2. console.log(x+y);
  3. }
  4. var ret = add(2,5);
  5. console.log(ret); // 默认返回undefined
  6. function add2(x,y) {
  7. return x+y
  8. }
  9. var ret = add2(2,5);
  10. console.log(ret); // 默认返回undefined

匿名函数

  1. // 匿名函数调用方式1
  2. var func = function () {
  3. console.log("匿名函数...")
  4. };
  5. func();
  6. // 匿名函数调用方式2
  7. //2.1 不带参数
  8. (function () {
  9. console.log("匿名函数2...")
  10. })();
  11. //2.2 带参数
  12. (function (x,y) {
  13. console.log(x+y)
  14. })(2,7);
  15. //2.3 匿名函数作为返回值
  16. function bar() {
  17. return function () {
  18. console.log("inner函数!")
  19. }
  20. }
  21. bar()();