返回

JavaScript的函数提升和变量提升

发布时间:2022-10-31 17:20:49 265
# javascript# java# java

在JavaScript中会存在一些这样的现象:一个变量在声明之前就可以访问而没有抛出异常,一个函数在声明之前就调用了,也没有抛出异常。

这就涉及到变量或者函数提升!

作用域

全局作用域、函数作用域和块作用域。

如果变量定在全局作用域中,那么在审核位置都可以访问该变量;

如果变量定义在函数作用域内,那么只能在该函数内访问变量;

同理,定义在一个代码块中的变量,也就只能在该代码块中访问变量;

块级作用需要使用特定的let或者const关键字定义变量。

变量提升

变量声明会被提升到函数的顶部位置,但是赋值并未提升。【变量提升情况只能出现在var声明的变量】

var a = "90";
(function(){
console.log(a)
})()
var b = "78";
(function(){
console.log(b);
var b = 9000
})()

函数提升

同样的道理,使用函数声明方式定义函数,也会出现函数提升的情况。如下代码段:

show();
var show;

function show(){
console.log("90")
}

show = function(){
console.log(76)
}

函数的提升,会将整个函数体一起提升

有些知识,过着过着就忘记了,趁着记忆力还行,做一个笔记

 

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
js中return、continue、break 2022-10-31 16:42:27