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 相关文章推荐
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
Sep 14 Javascript
jQuery响应鼠标事件并隐藏与显示input默认值
Aug 24 Javascript
javascript+canvas制作九宫格小程序
Dec 28 Javascript
JavaScript图片轮播代码分享
Jul 31 Javascript
微信小程序 触控事件详细介绍
Oct 17 Javascript
Express URL跳转(重定向)的实现方法
Apr 07 Javascript
Javascript中Promise的四种常用方法总结
Jul 14 Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
Dec 13 Javascript
bootstrap table实现合并单元格效果
Dec 24 Javascript
Openlayers绘制聚合标注
Sep 28 Javascript
vue内置组件keep-alive事件动态缓存实例
Oct 30 Javascript
Vue h函数的使用详解
Feb 18 Vue.js
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
为PHP5.4开启Zend OPCode缓存
2014/12/26 PHP
拥抱模块化的JavaScript
2012/03/07 Javascript
让你的博客飘雪花超出屏幕依然看得见
2013/01/04 Javascript
jquery实现网站超链接和图片提示效果
2013/03/21 Javascript
对 jQuery 中 data 方法的误解分析
2014/06/18 Javascript
jQuery实现鼠标单击网页文字后在文本框显示的方法
2015/05/06 Javascript
AngularJS 入门教程之事件处理器详解
2016/08/19 Javascript
js微信支付实现代码
2016/12/22 Javascript
jQuery插件HighCharts绘制2D圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
bootstrap multiselect 多选功能实现方法
2017/06/05 Javascript
将 vue 生成的 js 上传到七牛的实例
2017/07/28 Javascript
vue-cli脚手架config目录下index.js配置文件的方法
2018/03/13 Javascript
d3绘制基本的柱形图的实现代码
2018/12/12 Javascript
Webpack4 使用Babel处理ES6语法的方法示例
2019/03/07 Javascript
详解vue-cli3多页应用改造
2019/06/04 Javascript
微信小程序实现点击效果
2019/06/21 Javascript
在vue-cli3中使用axios获取本地json操作
2020/07/30 Javascript
[38:44]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第二局
2016/02/25 DOTA
[03:24][TI9纪实] Dota奶爸
2019/08/22 DOTA
Python中replace方法实例分析
2014/08/20 Python
Windows上使用virtualenv搭建Python+Flask开发环境
2016/06/07 Python
Python对列表中的各项进行关联详解
2017/08/15 Python
对python3 中方法各种参数和返回值详解
2018/12/15 Python
简单了解Python生成器是什么
2019/07/02 Python
Django 通过JS实现ajax过程详解
2019/07/30 Python
使用python快速实现不同机器间文件夹共享方式
2019/12/22 Python
Python实现银行账户资金交易管理系统
2020/01/03 Python
python3 xpath和requests应用详解
2020/03/06 Python
美国折扣宠物药房:Total Pet Supply
2018/05/27 全球购物
英国最大的宠物商店:Pets at Home
2019/04/17 全球购物
网络方面基础面试题
2012/11/16 面试题
优秀中学生事迹材料
2014/01/31 职场文书
入党积极分子自我鉴定
2014/02/18 职场文书
乡镇民主生活会发言材料
2014/10/20 职场文书
MySQL8.0无法启动3534的解决方法
2021/06/03 MySQL
DQL数据查询语句使用示例
2022/12/24 MySQL