js 变量名和函数名重名
https://blog.csdn.net/czh500/article/details/100024010
<script type="text/javascript">
console.log(a)
var a = 123;
console.log(a)
function a() {
console.log(a)
}
a();
</script>
我大致上认为js是先编译再运行的,规则是
- 函数声明会置顶
- 变量声明也会置顶
- 函数声明比变量声明更置顶
- 变量和赋值语句一起书写,在js引擎解析时,会将其拆成声明和赋值2部分,声明置顶,赋值保留在原来位置
- 声明过的变量不会重复声明
以上代码会等价于
<script type="text/javascript">
var a = function() {
console.log(a)
}
console.log(a)
a = 123;
console.log(a)
a();
</script>
最后更新于 2021-05-24 07:12:01 并被添加「」标签,已有 726 位童鞋阅读过。
此处评论已关闭