预解释(变量提升)(1-1-1)

第一节:预解释作用域this原理及应用

预解释(变量提升)


1、js中的数据类型包括:
  • 基本数据类型:number、string、boolean、null、undefined
  • 引用数据类型:object:{对象}、[数组]、/正则/、Date;function
2、基本数据类型是按照值来操作的,引用数据类型是按照地址操作的
3、
  • 当浏览器加载HTML页面时,首先会提供一个供全局js代码执行的环境,叫全局作用域(global/window)
  • 发布日记,杂文,所见所想
  • 撰写发布技术文稿(代码支持)
  • 撰写发布学术论文(LaTeX 公式支持)
代码:
var num = 12;
var obj = {name : "John" , age : 7};
function fn(){
    console.log("hello world!");
}
console.log(fn); //把整个函数的定义部分(函数本身)在控制台输出
console.log(fn()); //把当前函数执行的返回结果(return后面写的是啥,返回啥),没有return返回undefined

预解释

在当前的作用域中,JS代码执行之前,浏览器会默认的把所有带var和function的进行提前的声明或者定义

1、理解声明和定义
  • 声明(declare):var num; 告诉浏览器在全局作用域中有一个num的变量,如果一个变量只是声明了但是没有赋值,默认值是undefined
  • 定义(defined):num=12; 给变量进行赋值
2、对于带var和function关键字的在预解释的时候操作还是不一样的
  • var:在预解释的时候只是提前的声明
  • function:在预解释的时候提前的声明+定义都完成了
3、预解释只发生在当前的作用域当中,例如:开始只对window下的进行预解释,只有函数执行的时候才会对函数中的进行预解释

JS中内存的分类

  • 栈内存:用来提供一个供JS代码执行的环境 —>作用域:全局作用域、私有作用域
  • 堆内存:用来存储引用数据类型的值,对象存储的是属性名和属性值,函数存储的是代码字符串
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值