浅说预解析

全局作用域:当浏览器加载html页面的时候,首先会提供一个全局Js代码执行的环境.

//这个环境就是全局作用域(window);
var num = 12;
var obj = {name:"jack",age:6};
function fn(){
    console.log(123);
    return 123;
}
fn();

预解析:在当前作用域中,js代码执行之前浏览器首先会默认把所有带var和function的进行提前的声明或者定义.
1)理解声明和定义

var num = 12;

声明:declare:比如:上课,我们开始上课了,我讲东西了么?声明只是告诉当前的作用域我有个变量 var num-->告诉浏览器的全局作用域,有个一个变量num;
var 预解析时:只声明不定义(赋值);变量存在默认值 undefined;
定义:给我们的变量赋值
2)对于带var 和function关键字的,在预解析的时候操作是不一样的
var -> 在预解析的时候,提前声明但未定义.默认值undefined;
function ->在预解析的时候,提前声明+定义都完成了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值