JavaScript函数的基本使用

106 阅读3分钟

先补充一点小知识:

术语foobar, foo, bar, bazqux经常在计算机编程或计算机相关的文档中被用作占位符的名字。当变量,函数,或命令本身不太重要的时候,foobar, foo, bar, bazqux就被用来充当这些实体的名字,这样做的目的仅仅是阐述一个概念,说明一个想法。这些术语本身相对于使用的场景来说没有任何意义。

1 函数的使用步骤:

  • 函数的使用包含两个步骤:

    • 声明函数 —— 封装 独立的功能
    • 调用函数 —— 享受 封装 的成果
  • 声明函数,在JavaScript中也可以称为定义函数:

    • 声明函数的过程是对某些功能的封装过程;
  • 调用函数,也可以称为函数调用:

    • 调用函数是让已存在的函数为我们所用;
    • 这些函数可以是刚刚自己封装好的某个功能函数;
    • 也可以去使用默认提供的或者其他三方库定义好的函数;
  • 函数的作用:

  • 在开发程序时,使用函数可以提高编写的效率以及代码的重用;

  • 声明函数使用function关键字:这种写法称之为函数的定义

    function 函数名(形参 parameter) {
    	封装的代码
    }
    
  • 注意:

    • 函数名的命名规则和前面变量名的命名规则是相同的;
    • 函数要尽量做到见名知意(并且函数通常是一些行为(action),所以使用动词会更多一些);
    • 函数定义完后里面的代码是不会执行的,函数必须调用才会执行;
  • 调用函数通过 函数名(实参 argument) 即可

  • 形参和实参

    • 形参(参数 parameter):定义 函数时,小括号中的参数,是用来接收参数用的,在函数内部 作为变量使用
    • 实参(参数 argument):调用 函数时,小括号中的参数,是用来把数据传递到函数内部用的
  • 练习: sayHello,求和

    function sayHello(name) {
      console.log(`Hello, ${name}`)
    }
    sayHello('八戒')
    function sum(a, b) {
      console.log(`${a + b}`)
    }
    sum(6, 6)
    
  • 函数返回值:

    • 回想我们之前使用的prompt函数,函数需要接受参数,并且会返回用户的输入
    • 所以说, 函数不仅仅可以有参数, 也可以有返回值:
      • 使用return关键字来返回结果;
      • 一旦在函数中执行return操作,那么当前函数会终止;
      • 如果函数中没有使用 return语句 ,那么函数有默认的返回值:undefined;
      • 如果函数使用 return 语句,但是return后面没有任何值,那么函数的返回值也是:undefined;

2 arguments 参数

直接看代码:

// 1.arguments的认识
function foo(name, age) {
  console.log("传入的参数", name, age)

  // 在函数中都存在一个变量, 叫arguments
  console.log(arguments)
  // arguments是一个对象
  console.log(typeof arguments) // object
  // 对象内部包含了所有传入的参数
  // console.log(arguments[0])
  // console.log(arguments[1])
  // console.log(arguments[2])
  // console.log(arguments[3])

  // 对arguments来进行遍历
  for (var i = 0; i < arguments.length; i++) {
    console.log(arguments[i])
  }
}

foo("bajie", 28, 1.6, "高老庄")


// 2.arguments的案例
function sum() {
  var total = 0
  for (var i = 0; i < arguments.length; i++) {
    var num = arguments[i]
    total += num
  }
  return total
}

console.log(sum(10, 20))
console.log(sum(10, 20, 30))
console.log(sum(10, 20, 30, 40))