关于Javascript没有块级作用域和变量声明提升
2024-10-21 12:01:39
Javascript是没有块级作用域的,在语句块中声明的变量将成为语句块所在代码片段的局部变量。例如:
if(true){
var x=3;
}
console.log(x);
结果输出3.
再如:
var x=5; function a(){
if(!x){
var x=10;
}
console.log(x);
}
a();
结果是10.因为变量声明的提升,原理是这样的,举个例子:
if(a==undefined){
alert("ok");
}
var a=1;
这里,在声明变量a之前先引用了变量a,结果不会报错,还会弹出"ok",上面的代码就等同与以下的代码:
var a;
if(a==undefined){
alert("ok");
}
a=1;
最新文章
- 常用js功能函数集合
- CentOS安装Nginx-1.6.2+安全配置
- BZOJ4525——[Usaco2016 Jan]Angry Cows
- 十大谷歌Google搜索技巧分享
- c#部分---好题--顺便练练“类的知识”
- iOS已发布应用中对异常信息捕获和处理
- Win8.1 64bit安装Genymotion模拟器
- C#/winform 旅游管理信息系统
- CPUから広がり
- 用jQuery绑定事件到动态创建的元素上
- [Swift]LeetCode1 .两数之和 | Two Sum
- JavaWeb基础-Jsp的请求与响应
- Python从入门到精通之eighth!
- SQLmap注入启发式检测算法
- CSS文本超出指定行数省略显示
- vue 生命周期钩子的理解 watch computed
- python 多线程示例
- Spring+Hibernate实现动态SessionFactory切换
- shell脚本中,for基于列表进行循环的实现方法
- 关于protel 99se 汉化后某些菜单消失的解决方法