预解释

1.预解释

  • 在浏览器加载的时候,首先会提供一个供全局js代码执行的环境 —全局作用域(global/window)
  • 预解释:在当前作用域中,在js代码执行之前,浏览器会默认的把带var跟function的进行声明与定义
var num = 12;
var obj = {name:'zhang',age:13};
funtion fn(){
   console.log('zzzz');
}
console.log(fn);//把函数部分在(包括函数本身)在控制台输出
console.log(fn());//返回函数运行结果

学会画图

理解声明与定义
  • 声明:var num 告诉浏览器在全局的作用域中有一个num的变量了,如果一个变量只是声明了但是没有赋值,默认的值是undefined
  • 定义:num=12 给我们的变量进行赋值
var与function预解释的区别
  • var:在预解释的时候只是提前的声明
  • funciton:在预解释的时候提前的声明+定义都完成了
预解释只发生在当前的作用域下
  • 开始只对window下的进行预解释
  • 只有函数执行的时候才会对函数中的进行预解释
    在这里插入图片描述
js的内存分类
  • 栈内存:用来提供一个供js代码执行的环境—>作用域(全局作用域、私有)
  • 堆内存:用来存储引用数据类型的值—>对象存储的是属性名和属性值。函数存储代码字符串
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章