函数数据类型
函数数据类型也是按照地址来操作的
函数: 具备一定功能的方法
// 创建函数: 相当于生产了一台洗衣机
function 函数名(){
// -> 函数体: 实现某一个功能的具体js代码
}
// 执行函数: 相当于使用洗衣机洗衣服(如果函数创建了但没有执行,函数没有任何意义)
函数名()
function fn(){
console.log(1+1);
}
fn // 输出函数本身
fn() // 2 把函数执行(把函数体中实现功能的代码执行)
声明的这个函数名和我们之前声明的变量名没有任何区别(function fn()和var fn冲突)
空间中存储的是函数体中的代码,但是此时的代码都是字符串中的字符而已
函数只创建而不执行没有意义:因为空间中存储的都是毫无意义的字符串
fn() 函数执行:把函数体中的代码执行
浏览器创建一个供函数中代码执行的私有环境 -> 私有作用域
把创建时候空间中存储的字符串拿来,然后变成真正的js表达式代码,然后执行
// -> 形参:形式参数,函数的入口
// -> 当我们创建一个函数想要实现某个功能的时候,
// -> 发现有一些材料并不清楚,只有当函数运行的时候,
// -> 别人传递给我我才知道,此时我们就需要设定入口,
// -> 让用户执行的时候通过入口把值给我们
function fn(num1,num2){
console.log(num1+num2)
}
fn(1,2) // -> 3
fn(2,3) // -> 5