关于JS变量
来源:互联网 发布:比特币交易 知乎 编辑:程序博客网 时间:2024/06/07 23:00
刚在百度前端网上看了一个JS笔记,里面有一个关于var变量的代码,起初没能理解,所以在理解之后在此分享
{ var a = "abc"; var b = 1; c = 2; function test(){ alert(a); alert(b); alert(c); var a = "bcd"; b = 2; c =3; alert(a); alert(b); alert(c); }}
第一次输出的a,b,c的值和第二次输出的a,b,c的值分别会是什么呢?依次应该是:abc,1,2,bcd,2,3。对不对呢?!(@_@)其实那是不对的!正确的答案应该是undefined,1,2,bcd,2,3。下面我就来说一下我想的和它显示的为什么不一样~
原因是这样子滴,test()函数外边定义的a,b,c 均为全局变量,而test()函数内部由定义了局部变量a,b,c,之所以第一个a输出的结果不是我想象中的 abc ,而是undefined,是因为,在函数内部也定义了a使其成为局部变量,所以它会先从函数内部也就是距离自己最近的地方开始解析寻找初始化语句,然而函数内部的初始化语句在输出变量之后,所以它会认为并没有给此变量初始化,自然会默认为undefined了;但是之后的a,b,c均会照常输出,是因为它们的初始化和输出就是正常的顺序并且存在在函数内部,所以会正常解析。
0 0
- 关于JS变量重名
- 关于JS变量
- 关于js 的变量提升
- 关于js的变量提升
- 关于Js变量地址引用的问题
- 关于JS里面的变量提升
- 关于js里面的变量范围
- js关于变量提升(匿名函数)
- 关于js变量两个面试题
- 关于js中变量的作用范围
- 关于JS里的全局变量和局部变量
- Javascript:关于JS的全局变量跟局部变量 经典案例!!!
- node.js关于一个js文件引用另一个js文件里面的函数或者数组变量
- JS 变量
- js 变量
- js变量
- JS变量
- js 变量
- Mathematica数据处理(4)
- 内存数据库
- 断点下载总结
- php方法 隐藏手机号中间四位
- Qt sqlite 查询内存泄漏
- 关于JS变量
- C#控制台基础 可空类型int?,加法实例
- 学习使用百度地图的正确方法
- POJ-3009-Curling 2.0
- 解决php pdo传中文给mysql乱码的方案
- Handler和AsyncTask的区别
- ABA问题
- AVL平衡二叉树
- 【NOIP2012模拟8.20】Memory