第一模块
课程名称:直面JavaScript中的30个疑难杂症
章节名称:
- 7-2 一定要知道的变量和函数提升
讲师姓名:公明2020
第二模块
课程内容(概述)
1、js
解释引擎:词法分析->语法分析->语法树
词法分析是将字符流(char stream)转换为记号流(token stream);语法分析成AST
2、js
解析:预编译期(预处理、预解析、预编译)与执行期
预编译预解析,当JavaScript引擎解析脚本时,它会在预编译期对所有声明的变量和丽数进行处理!并且是先预声明量,再预定义函数
3、变量声明提前,值停留在本地;函数是整个代码体提前
第三模块
介绍
在ES6
之前,声明一个变量需要用到var
关键字,用var来声明的变量就存在变量提升的特性
提升过程分析
var a = 1;
function foo() { a = 10; console.log(a); return; function a() {}; }
foo();
console.log(a);
// ------------------------------
var a = 1; // 定义一个全局变量 a
function foo() {
// 首先提升函数声明function a () {}到函数作用域顶端
// 然后function a () {}等同于 var a = function() {};最终形式如下
var a = function () {}; // 定义局部变量 a 并赋值。
a = 10; // 修改局部变量 a 的值,并不会影响全局变量 a
console.log(a); // 打印局部变量 a 的值:10
return;
}
foo();
console.log(a); // 打印全局变量 a 的值:1
第四模块
学习截图
點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫(xiě)下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得
100積分直接送
付費(fèi)專(zhuān)欄免費(fèi)學(xué)
大額優(yōu)惠券免費(fèi)領(lǐng)