1 / 2
文档名称:

js(作用域).doc

格式:doc   大小:57KB   页数:2页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

js(作用域).doc

上传人:phl19870121 2017/11/22 文件大小:57 KB

下载得到文件列表

js(作用域).doc

相关文档

文档介绍

文档介绍:注意细节js变量作用域
Posted on 2008-07-29 10:53 aming 阅读(603) 评论(1) 编辑收藏
 
  先看一下这段Javascript脚本代码:
 1<script language="javascript">
 2    <!--
 3        var v = "aaa"; 
 4        function func()
 5        { 
 6            alert(v); 
 7            var v = "bbb"; 
 8        }
 9    //-->
10</script>
 
alert 出来的是什么?在我们看来应该是"aaa",实际上alert 出来的是"undefined".为什么?
因为 Javascript为了简化处理,变量实际上只有两种作用域,. 而在 alert 的时候函数的内部变量 v 已经定义了,并且覆盖掉了同名的全局变量的定义,只是还没有被初始化,所以 alert 出来的是"undefined".
 
?
JavaScript中的全局变量实际上指的是window对象下的对象属性.
.
JavaScript中的作用域是基于上下文,以函数进行划分的,而不是由块(block)划分的.
 
接下来看一个例子(原例来自《精通JavaScript》,有改动):
 
<script type="text/javascript">
// 设置全局变量foo,并置为“test”
var foo = "test";
if ( true )
{
    // 注意:现在还在全局作用域中
    var foo = "new test";
}
// 如我们所见,现在foo等于'new test'了
alert( foo );
// 创建一个会修改变量foo的新函数
function test()