函数回顾
let num = 10
console.log(num)
/*
let num
num = 10
console.log(num)
*/
//定义(声明)阶段
function fn(a){
console.log('hello')
}
//调用阶段
fn(10)
fn(20)
/*
函数
+ 先把函数名称存储在栈内存里面,把地址赋值给函数名称
+ 把函数体里面的代码存储堆内存里面
函数调用
+ 把函数让它进入调用栈里面
+ 然后在执行空间里面进行解析
*/
不摧毁函数执行空间
// function fn(){
// let obj = {
// a: 1
// }
// return obj
// }
//注意点:当函数内部向外界返回一个引用数据类型时,并且在外界使用变量接收了返回的数据类型,那么函数的执行
//空间就不会销毁
function fn(){
return {
a: 1
}
}
let res = fn()
console.log(res)
//表示把函数的执行空间里面的对象空间给销毁了
res = null
console.log(res)