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 相关文章推荐
密码强度检测效果实现原理与代码
Jan 04 Javascript
js选择并转移导航菜单示例代码
Aug 19 Javascript
node.js中的buffer.write方法使用说明
Dec 10 Javascript
在JavaScript中操作时间之setYear()方法的使用
Jun 12 Javascript
javascript合并表格单元格实例代码
Jan 03 Javascript
JavaScript实现的SHA-1加密算法完整实例
Feb 02 Javascript
jQuery中值得注意的trigger方法浅析
Dec 12 Javascript
js中字符型和数值型数字的互相转化方法(必看)
Apr 25 Javascript
解决浏览器会自动填充密码的问题
Apr 28 Javascript
vue 系列——vue2-webpack2框架搭建踩坑之路
Dec 22 Javascript
微信小程序实现随机验证码功能
Dec 20 Javascript
浅谈vue项目,访问路径#号的问题
Aug 14 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
微信接口生成带参数的二维码
2017/07/31 PHP
Laravel框架实现的使用smtp发送邮件功能示例
2019/03/12 PHP
ThinkPHP框架实现FTP图片上传功能示例
2019/04/08 PHP
laravel 配置路由 api和web定义的路由的区别详解
2019/09/03 PHP
JavaScript 撑出页面文字换行
2009/06/15 Javascript
JS按位非(~)运算符与~~运算符的理解分析
2011/07/31 Javascript
主页面中的两个iframe实现鼠标拖动改变其大小
2013/04/16 Javascript
node.js中的buffer.copy方法使用说明
2014/12/14 Javascript
javascript实现时间格式输出FormatDate函数
2015/01/13 Javascript
jquery实现表单验证并阻止非法提交
2015/07/09 Javascript
js检测iframe是否加载完成的方法
2015/11/26 Javascript
Javascript 调用 ActionScript 的简单方法
2016/09/22 Javascript
最常见的左侧分类菜单栏jQuery实现代码
2016/11/28 Javascript
vue插件draggable实现拖拽移动图片顺序
2018/12/01 Javascript
Async/Await替代Promise的6个理由
2019/06/15 Javascript
Vue源码分析之Vue实例初始化详解
2019/08/25 Javascript
JS+CSS实现3D切割轮播图
2020/03/21 Javascript
JavaScript ECMA-262-3 深入解析(一):执行上下文实例分析
2020/04/25 Javascript
[05:07]DOTA2英雄梦之声_第14期_暗影恶魔
2014/06/20 DOTA
python中virtualenvwrapper安装与使用
2018/05/20 Python
Python import与from import使用及区别介绍
2018/09/06 Python
如何利用Python开发一个简单的猜数字游戏
2019/09/22 Python
用pytorch的nn.Module构造简单全链接层实例
2020/01/14 Python
在Python IDLE 下调用anaconda中的库教程
2020/03/09 Python
解决Python spyder显示不全df列和行的问题
2020/04/20 Python
python根据字典的键来删除元素的方法
2020/08/16 Python
requests在python中发送请求的实例讲解
2021/02/17 Python
html5+css3实现一款注册表单实例
2013/04/17 HTML / CSS
自我评价怎么写好呢?
2013/12/05 职场文书
同事吵架检讨书
2014/02/05 职场文书
迎国庆演讲稿
2014/09/05 职场文书
Jupyter notebook 输出部分显示不全的解决方案
2021/04/24 Python
SpringBoot整合MongoDB的实现步骤
2021/06/23 MongoDB
浅谈PostgreSQL表分区的三种方式
2021/06/29 PostgreSQL
MySQL索引是啥?不懂就问
2021/07/21 MySQL
Vue如何清空对象
2022/03/03 Vue.js