函数
在JS当中,函数就是一个方法,(一个功能体),基于函数一般都是为了实现某个功能,并且在后续的代码中我们依然想实现相同的操作
函数诞生的目的就是为了实现封装:把实现一个功能的代码封装到一个函数中,后期想要实现这个功能,只需要把函数执行即可,不必要再次编写重复代码。
var total=10
total+=10
total=total/2
total=total.toFixed(2) //=>保留小数点后两位(数字有一个方法toFixed用来保留小数点后面的位数)
.....
function fn(){
var total=10;
total+=10
total/=2
total=total.toFixed(2)
console.log(total)
}
fn()
fn()
------
ES3标准中:
//=>创建函数
function 函数名([参数]){
函数体:实现功能的js代码
}
//=>把函数执行
函数名()
------
ES6:
let 函数名(变量名)=([参数])=>{
函数体
}
let fn=()=>{
var total=10;
total+=10
total/=2
total=total.toFixed(2)
console.log(total)
}
函数作为引用数据类型的一种,他也是按照引用地址来操作的,接下来我们学习一下,函数的运行机制
【创建函数】
- 函数也是引用类型,首先会开辟一个新的堆内存,把函数体中的代码当做“字符串”存储到内存中(对象向内存中存储的是键值对)
- 把开辟的堆内存地址赋值给函数名(变量名)
输出fn 代表当前函数本身 f()是运行函数
【函数执行】
目的:把之前存储到堆内存中的代码字符串变为真正的JS代码自上而下执行,实现应有的功能
- 函数执行,首先会形成一个私有的作用域(一个共代码执行的环境,也是一个栈内存)
- 把之前在堆内存中存储的字符串复制一份过来,变为真真的个JS代码,在新开辟的作用域中自上而下执行