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 相关文章推荐
动态加载js文件 document.createElement
Oct 14 Javascript
jquery弹出关闭遮罩层实例
Aug 06 Javascript
javascript通过navigator.userAgent识别各种浏览器
Oct 25 Javascript
js 本地预览的简单实现方法
Feb 18 Javascript
jquery点击切换背景色的简单实例
Aug 25 Javascript
bootstrapValidator表单验证插件学习
Dec 30 Javascript
jquery仿苹果的时间/日期选择效果
Mar 08 Javascript
Angular HMR(热模块替换)功能实现方法
Apr 04 Javascript
vue中轮训器的使用
Jan 27 Javascript
微信小程序 自定义复选框实现代码实例
Sep 04 Javascript
使用Angular9和TypeScript开发RPG游戏的方法
Mar 25 Javascript
vue如何清除浏览器历史栈
May 25 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
php读取图片内容并输出到浏览器的实现代码
2013/08/08 PHP
ThinkPHP缓存方法S()概述
2014/06/13 PHP
php生成唯一数字id的方法汇总
2015/11/18 PHP
php 如何获取文件的后缀名
2016/06/05 PHP
JavaScript 异步调用框架 (Part 6 - 实例 & 模式)
2009/08/04 Javascript
基于jQuery实现表格数据的动态添加与统计的代码
2011/01/31 Javascript
通过一段代码简单说js中的this的使用
2013/07/23 Javascript
jQuery搜索子元素的方法
2015/02/10 Javascript
jquery实现的树形目录实例
2015/06/26 Javascript
jQuery动态生成表格及右键菜单功能示例
2017/01/13 Javascript
JavaScript原生数组Array常用方法
2017/04/06 Javascript
vue-hook-form使用详解
2017/04/07 Javascript
jQuery选择器中的特殊符号处理方法
2017/09/08 jQuery
详解使用Vue Router导航钩子与Vuex来实现后退状态保存
2017/09/11 Javascript
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
2018/12/11 jQuery
vue中在vuex的actions中请求数据实例
2019/11/08 Javascript
基于js实现的图片拖拽排序源码实例
2020/11/04 Javascript
Nest.js散列与加密实例详解
2021/02/24 Javascript
python中list循环语句用法实例
2014/11/10 Python
python+numpy按行求一个二维数组的最大值方法
2019/07/09 Python
在Python中os.fork()产生子进程的例子
2019/08/08 Python
基于python读取.mat文件并取出信息
2019/12/16 Python
如何基于pandas读取csv后合并两个股票
2020/09/25 Python
CSS3 box-sizing属性详解
2016/11/15 HTML / CSS
浅谈html5与APP混合开发遇到的问题总结
2018/03/20 HTML / CSS
Boda Skins皮衣官网:奢侈皮夹克,全球配送
2016/12/15 全球购物
Bally巴利中国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/10/09 全球购物
环境科学专业个人求职信
2013/09/26 职场文书
会计电算化个人求职信范文
2014/01/24 职场文书
《明天,我们毕业》教学反思
2014/04/24 职场文书
职业生涯规划书怎么写?
2014/09/14 职场文书
心术观后感
2015/06/11 职场文书
2019XX公司员工考核管理制度!
2019/08/07 职场文书
基于Redis过期事件实现订单超时取消
2021/05/08 Redis
如何用PHP websocket实现网页实时聊天
2021/05/26 PHP