JS变量提升
标签:
JavaScript
废话不多说,直接看以下例子,代码地址:
函数声明和函数表达式
a()function a(){ console.log('a'); } b()var b = function (){ console.log('b') }//a//Uncaught TypeError: b is not a function
很明显,这个大家都知道这个答案,就是很常见的作用域提前,我们下面来解析下上面的例子。其实上面的例子等价于:
var a = function (){ console.log('a') }var b; a() b() b = function(){ console.log('b') }
变量作用域提升(仅考虑局部变量)
a()var a = 1;function a(){ console.log('a') } a();//a//Uncaught TypeError: a is not a function
等价于下面的代码
var a; a = function(){ console.log('a') } a() a = 1; a()
到这里大家应该都明白了
作者:古朋
链接:https://www.jianshu.com/p/8b185aaa19f2
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦