文章配套视频

  • https://study.163.com/course/introduction/1005973001.htm

对象的定义

函数也是一个对象
函数就是可以重复执行的代码块
函数就是完成特定功能的一段代码
使用typeof检查一个函数对象时,会返回function

作用

因为一部分代码使用次数可能会很多,所以封装起来,需要的时候调用就可以了。
1)将复杂的事情简单化
2)将重复使用的代码进行统一封装

特点:
1)封装到函数中的代码不会立即执行
2)函数中的代码会在函数调用的时候执行
3)调用函数 语法:函数对象()
4)调用函数时,函数中封装的代码会按照顺序执行

基本使用

不常用:
var fun = new Function("console.log('大家好, 我是函数!');");

常用
函数定义:
function 函数名([形参1,形参2, ...,形参N]){
    函数体
}

函数调用
函数名();

常见的声明方式

1) 函数声明方式
function add(num1,num2){
      return num1+num2;
  }

2) 函数表达式声明方式
 var add= function(num1,num2){
                  return num1+num2;
  }; 

3) 使用Function构造函数
var add = new Function('num1','num2','return num1+num2');
不推荐使用,  主要用于面向对象时理解"函数就是对象,  函数名就是指针"这一概念

快速入门

计算1+3
###函数的参数

为什么要设置参数?
为了增强函数的功能性和函数的可拓展性,便于交互。

形参:
1)形式上参与运算的变量,无实际值,为实参占位置,就像一个躯壳一样。
2)function f(a,b){}  //a,b是形参,占位用,函数定义时形参无值

实参:
1)实际参与运算的变量。形参为他占位置,真实参与运算的变量。
2)f(x, y); //x, y实参,有具体的值,会把x,  y复制一份给函数内部的a和b,函数内部的值是复制的新值,无法修改外部的x,y

注意:在其它语言中实参个数必须和形参个数一致,
但是JavaScript中没有函数签名的概念,实参个数和形参个数可以不相等