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
Sep 24 Javascript
一个javascript参数的小问题
Mar 02 Javascript
JQuery中的html()、text()、val()区别示例介绍
Sep 01 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
Feb 08 Javascript
webpack 2.x配置reactjs基本开发环境详解
Aug 08 Javascript
React教程之封装一个Portal可复用组件的方法
Jan 02 Javascript
js实现控制文件拖拽并获取拖拽内容功能
Feb 17 Javascript
Vue.js实现可排序的表格组件功能示例
Feb 19 Javascript
微信小程序环境下将文件上传到OSS的方法步骤
May 31 Javascript
vue实现Input输入框模糊查询方法
Jan 29 Javascript
详细分析Node.js 模块系统
Jun 28 Javascript
JS实现简单贪吃蛇小游戏
Oct 28 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-redis中文文档介绍
2013/02/07 PHP
php获取数组中重复数据的两种方法
2013/06/28 PHP
微信营销平台系统?刮刮乐的开发
2014/06/10 PHP
CI框架入门示例之数据库取数据完整实现方法
2014/11/05 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
PHP数字金额转换成中文大写显示
2019/01/05 PHP
基于jQuery的的一个隔行变色,鼠标移动变色的小插件
2010/07/06 Javascript
原生js实现给指定元素的后面追加内容
2013/04/10 Javascript
jQuery的控件及事件(输入控件及回车事件)使用示例
2013/07/25 Javascript
javascript获取元素CSS样式代码示例
2013/11/28 Javascript
浅谈jquery中的each方法$.each、this.each、$.fn.each
2016/06/23 Javascript
利用JavaScript判断浏览器类型及版本
2016/08/23 Javascript
Node.js 使用流实现读写同步边读边写功能
2017/09/11 Javascript
vue.js项目中实用的小技巧汇总
2017/11/29 Javascript
Vue.JS实现垂直方向展开、收缩不定高度模块的JS组件
2018/06/19 Javascript
解决Vue axios post请求,后台获取不到数据的问题方法
2018/08/11 Javascript
Python中在脚本中引用其他文件函数的实现方法
2016/06/23 Python
Python2.X/Python3.X中urllib库区别讲解
2017/12/19 Python
Python实战之制作天气查询软件
2019/05/14 Python
Django使用unittest模块进行单元测试过程解析
2019/08/02 Python
Python序列类型的打包和解包实例
2019/12/21 Python
Python如何使用正则表达式爬取京东商品信息
2020/06/01 Python
Pytho爬虫中Requests设置请求头Headers的方法
2020/09/22 Python
如何一键升级Python所有包
2020/11/05 Python
html5使用canvas绘制一张图片
2014/12/15 HTML / CSS
韩国三星旗下的一家超市连锁店:Home Plus
2016/07/30 全球购物
英国山地公路自行车商店:Tweeks Cycles
2018/03/16 全球购物
美国Max仓库:Max Warehouse
2020/05/31 全球购物
Strathberry苏贝瑞中国官网:西班牙高级工匠手工打造
2020/10/19 全球购物
SQL Server 2000数据库的文件有哪些,分别进行描述。
2015/11/09 面试题
广告学专业应届生求职信
2013/10/01 职场文书
党员教师群众路线对照检查材料思想汇报
2014/09/29 职场文书
2014年服装销售工作总结
2014/11/27 职场文书
2016抗战胜利71周年红领巾广播稿
2015/12/18 职场文书
pytorch 如何使用batch训练lstm网络
2021/05/28 Python
TV动画《政宗君的复仇》第二季制作决定PV公布
2022/04/02 日漫