javascript 变量作用域 代码分析


Posted in Javascript onJune 26, 2009

代码清单1-1 展示javascript的变量作用域的例子
//设置全局变量foo,并置为"test"
var foo = "test";
//在if块中
if(true){
//将foo置为'new test'
var foo = "new test";
}
//如我们所见,现在foo等于'new test'了
alert(foo == "new test");
//创建一个会修改变量foo的新函数
function test(){
var foo = "old test";
}
//然而在调用时,foo只在函数作用域内起作用
test();
//这里确认了foo 还是等于'new test'
alert(foo == "new test");
基于浏览器的javascript 的一个有趣的特性是,所有属于全局变量作用域的变量其实都是window对象的属性。
代码清单1-2 javascript中全局作用域和window对象
//一个全局作用域下的变量,存储了字符串'test'
var test = 'test';
//你可以看到我们的全局变量和window对象的test属性是一致的
alert(test == window.test)
最后如果变量没有显式定义,它就是全局定义的,虽然它可能只在这个函数作用域的范围内使用。
代码清单1-3 隐式全局作用域的变量声明
//一个设置了foo值的函数
function test(){
foo = "test";
}
//调用此函数以设置foo的值
test();
//我们发现foo现在是全局作用域下
alert(window.foo == "test");

Javascript 相关文章推荐
jQuery学习7 操作JavaScript对象和集合的函数
Feb 07 Javascript
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
Apr 15 Javascript
js获取html参数及向swf传递参数应用介绍
Feb 18 Javascript
js将json格式内容转换成对象的方法
Nov 01 Javascript
原生Javascript封装的一个AJAX函数分享
Oct 11 Javascript
JavaScript检查数字是否为整数或浮点数的方法
Jun 09 Javascript
详解参数传递四种形式
Jul 21 Javascript
浅谈JavaScript中的分支结构
Jul 01 Javascript
前端程序员必须知道的高性能Javascript知识
Aug 24 Javascript
在Create React App中使用CSS Modules的方法示例
Jan 15 Javascript
vuex实现像调用模板方法一样调用Mutations方法
Nov 06 Javascript
微信小程序利用云函数获取手机号码
Dec 17 Javascript
javascript 可以拖动的DIV(二)
Jun 26 #Javascript
jQuery 可以拖动的div实现代码 脚本之家修正版
Jun 26 #Javascript
JQuery 国际象棋棋盘 实现代码
Jun 26 #Javascript
javascript 读取图片文件的大小
Jun 25 #Javascript
JQuery 入门实例1
Jun 25 #Javascript
JavaScript 开发中规范性的一点感想
Jun 23 #Javascript
jQuery 表单验证插件formValidation实现个性化错误提示
Jun 23 #Javascript
You might like
php 启动报错如何解决
2014/01/17 PHP
php中字符串和正则表达式详解
2014/10/23 PHP
PHP预定义超全局数组变量小结
2018/08/20 PHP
PHP PDOStatement::setFetchMode讲解
2019/02/03 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
2019/04/15 PHP
javascript实现二分查找法实现代码
2007/11/12 Javascript
JavaScript 一行代码,轻松搞定浮动快捷留言-V2升级版
2010/04/02 Javascript
学习并汇集javascript匿名函数
2010/11/25 Javascript
ExtJS下书写动态生成的xml(兼容火狐)
2013/04/02 Javascript
你未必知道的JavaScript和CSS交互的5种方法
2014/04/02 Javascript
三种方式获取XMLHttpRequest对象
2014/04/21 Javascript
在页面加载完成后通过jquery给多个span赋值
2014/05/21 Javascript
node.js中的fs.exists方法使用说明
2014/12/17 Javascript
jQuery源码解读之removeClass()方法分析
2015/02/20 Javascript
js实现控制textarea输入字符串的个数,鼠标按下抬起判断输入字符数
2016/10/25 Javascript
Bootstrap table简单使用总结
2017/02/15 Javascript
JS解析url查询参数的简单代码
2017/08/06 Javascript
Vue 实现html中根据类型显示内容
2019/10/28 Javascript
javascript自定义右键菜单插件
2019/12/16 Javascript
[01:06:32]DOTA2上海特级锦标赛D组资格赛#1 EG VS VP第一局
2016/02/28 DOTA
python在windows下实现备份程序实例
2014/07/04 Python
python通过字典dict判断指定键值是否存在的方法
2015/03/21 Python
Python打造出适合自己的定制化Eclipse IDE
2016/03/02 Python
Python全局变量用法实例分析
2016/07/19 Python
python爬虫 正则表达式使用技巧及爬取个人博客的实例讲解
2017/10/20 Python
同时安装Python2 & Python3 cmd下版本自由选择的方法
2017/12/09 Python
Django管理员账号和密码忘记的完美解决方法
2018/12/06 Python
python交互模式基础知识点学习
2020/06/18 Python
大学生求职推荐信
2013/11/27 职场文书
财产保全担保书范文
2014/04/01 职场文书
2014年煤矿安全工作总结
2014/12/04 职场文书
简历自我评价:教师师德表现自我评价
2019/04/24 职场文书
写作技巧:如何撰写一份优秀的营销策划书
2019/08/13 职场文书
详解PHP设计模式之依赖注入模式
2021/05/25 PHP
SONY600GR,国产收音机厂商永远的痛
2022/04/05 无线电
Vue Element plus使用方法梳理
2022/12/24 Vue.js