1 / 8
文档名称:

js作用域详细解释.doc

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

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

分享

预览

js作用域详细解释.doc

上传人:小博士 2018/11/15 文件大小:73 KB

下载得到文件列表

js作用域详细解释.doc

相关文档

文档介绍

文档介绍::..-07-2910:53aming阅读(603)评论⑴编辑收藏先石一下这段Javascript脚木代码:1〈scriptlanguage="javascriptn>2<!-3varv="aaa";4functionlunc()5{6alcrt(v);7varv=HbbbM;8}9//->10</script>alert出來的足什么?在我们S•來应该足”aaa",变际上alert出來的是”undefined1’。为什么?因为Javascript为丁简化处理,变世劣际上只有两种作用域,个局变量和函数的内部变量,你在函数内部任何一个地方定义的变li其作用域都是整个函数体。而在alert的时候函数的内部变v已经定义丁,并IL按盖掉丁同名的全局变过的走义,只足还没旮被初始化,所以alert岀米的足’’undefined"。?JavaScript屮的今:局变以实际上指的足window对象下的对象厲性。。JavaScript屮的作川域足基f•上卜‘文,以闲数进行划分的,ifu不足由块(block)划分的接下來石一个例子(原例來自《精通JavaScript》,有改动):〈scripttype=',text/javascript">//设置全局变ttfoo,并置为lest”varfoo="test";if(true){//注意:现在还在余局作用域屮varfoo="newtest";}//如我们所见,现在foo等于'newtest’了alert(foo);//创建一个会修改变Idfoo的新函数functiontest(){//函数内部记义变蜇不影响仝局变i±varfoo="oldtest";//隐式定义全局变过val='hello!';I//然而在调用test函数时,foo只在函数作用域内起作用test();//确认foo还是等J'newtest'alert(foo);//);/zm数pj部隐式定义的全W变Walert(val);</script>现在你人概对JavaScript的作川域有•f一个初步的理解。要强凋的叫点足:,。,默认为全局变最,JavaScript作用域任何程序设计语言都有作用域的概念,简单的说,作川域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。在JavaScript中,变量的作用域有全局作用域和局部作用域两种。(GlobalScope)在代码中任何地方都能访问到的对象拥有全局作用域,一般來说一下几种情形拥有全局作用域:(1)最外层函数和在最外层函数外Ifif定义的变量拥有全局作用域,例如:代码如下:varauthorName="山边小溪";functiondoSomething(){varblogName=•’梦想天空functioninnerSay(){alert(blogName);innerSayO;alert(authorNam