一、函数的简介

函数的定义

函数function
函数也是一个对象
函数中可以封装一些功能(代码),在需要时可以执行这些功能(代码)
函数中可以保存一些代码在需要的时候调用
使用typeof检查一个函数对象时,会返回function

函数的定义方法
  1. 使用构造函数来创建一个函数对象

我们在实际开发中很少使用构造函数来创建一个函数对象
创建一个函数对象,可以将要封装的代码以字符串的形式传递给构造函数

var fun = new Function("console.log('hello');");
注意:

封装到函数中代码不会立即执行
函数中的代码会在主函数调用的时候执行
调用函数语法:函数对象()
当调用函数时,函数中封装的代码会按照顺序执行
以上这种使用构造函数来创建一个函数对象方法基本不用

//调用函数
fun();
  1. 使用函数声明来创建一个函数

语法:
function 函数名([形参1,形参2…形参n]){ 语句 }

function fun(){
				console.log("hello");
			}
fun();
  1. 使用函数表达式来创建一个函数

语法:
var 函数名 = function([形参1,形参2…]){ 语句 }

var fun = function (){
				console.log("abc");
			}
fun();

二、函数的参数

定义一个用来求两个数和的函数
可以在函数的()中来指定一个或多个形参(形式参数)
多个形参之间使用,隔开;声明形参就相当于在函数内部声明了对用的变量,但是并不赋值

function sum(a,b){
				console.log(a+b);
			}

在调用函数时,可以在()中指定实参(实际参数)
实际将会赋值给函数中对应的形参

sum(1,2);

调用函数时解析器不会检查实参的类型, 所以要注意是否,有可能会接收到非法的参数,如果有可能则需要对参数进行类型的检查
函数的实参可以时任意的数据类型

sum(213,"hello");

调用函数时,解析器也不会检查实参的数量
多余实参不会被赋值;如果实参的数量少于形参的数量,没有对应实参的形参将是undefined

function sum1(a,b){
    			console.log("a = " +a);
				console.log("b = "+b);
			}
sum1(123);