JavaScript基础——理解变量作用域
2015-12-06 10:54
549 查看
一旦你开始在JavaScript应用程序中添加条件、函数和循环,就需要理解变量作用域。变量作用域规定了如何确定正在执行的代码行上的一个特定变量名的值。
JavaScript允许你既定义全局版本又定义局部版本的变量。全局版本在主JavaScript定义,而局部版本在函数中定义。当你在函数中定义局部版本时,就在内存中创建一个新的变量。在这个函数中,将引用局部版本。在函数之外,你引用的是全局版本。
在JavaScript中定义全局变量和局部变量
var myVar = 1;
function writeIt(){
var myVar = 2;
console.log("Variable = " + myVar);
writeMore();
}
function writeMore(){
console.log("Variable = " + myVar);
}
writeIt();
运行结果为:
Variable = 2
Variable = 1
全局变量myVar是在第一行定义的,而本地版本的myVar是在第三行定义的,它位于writeIt()函数中。第四行写"Variable = 2"到控制台。然后在第五行,writeMore()被调用。由于在writeMore()中不存在myVar的任何局部版本定义,所以全局myVar的值在第九行被写出。
JavaScript允许你既定义全局版本又定义局部版本的变量。全局版本在主JavaScript定义,而局部版本在函数中定义。当你在函数中定义局部版本时,就在内存中创建一个新的变量。在这个函数中,将引用局部版本。在函数之外,你引用的是全局版本。
在JavaScript中定义全局变量和局部变量
var myVar = 1;
function writeIt(){
var myVar = 2;
console.log("Variable = " + myVar);
writeMore();
}
function writeMore(){
console.log("Variable = " + myVar);
}
writeIt();
运行结果为:
Variable = 2
Variable = 1
全局变量myVar是在第一行定义的,而本地版本的myVar是在第三行定义的,它位于writeIt()函数中。第四行写"Variable = 2"到控制台。然后在第五行,writeMore()被调用。由于在writeMore()中不存在myVar的任何局部版本定义,所以全局myVar的值在第九行被写出。
相关文章推荐
- jsonArray 构成的String对象可以上传多条数据
- javascript常用内置对象
- javascript中异常捕获抛出处理
- javascript字符串函数汇总
- javaScript 跨域
- javaScript基础入门
- js字符串函数
- js 语法 new function与function
- ExtJS4.2学习(20)动态数据表格之前几章总结篇1(转)
- Angular JS 学习笔记四
- JS 用window.open()函数,父级页面如何取到子级页面的返回值?
- js中取整问题
- 数据解析(XML,JSON)
- Angular JS 学习笔记3
- js获取项目根路径
- JavaScript类的设计
- Javascript遍历json对象
- JSON学习
- 学习JS摘录
- JavaScript闭包