1 / 6
文档名称:

JS学习之作用域和词法分析.docx

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

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

分享

预览

JS学习之作用域和词法分析.docx

上传人:1542605778 2022/1/29 文件大小:308 KB

下载得到文件列表

JS学习之作用域和词法分析.docx

相关文档

文档介绍

文档介绍:----------------------作用域--------------
在JS中函数嵌套是非常普遍的,在函数嵌套中对变量是如何寻找的:首先在函数内寻找,如果寻找不到则到外层去寻找.......直到全局(window)区域
例子1----------------------作用域--------------
在JS中函数嵌套是非常普遍的,在函数嵌套中对变量是如何寻找的:首先在函数内寻找,如果寻找不到则到外层去寻找.......直到全局(window)区域
例子1:
/*
var c=5;
function t1(){
var d=6;
function t2(){
var e=7;
//var d=3; 如果运行这段就会首先 找里层的 d变量 就压根不会找外面的d变量了 
alert(c + d + e);
}
t2();
}
t1(); // 15 ; 18
例子2:
alert(); //underfined
alert(); //underfined
function t1(){
d=5;
var e=6;
}
t1();  //由于d没有加 var 就是一个赋值操作,首先在t1函数域内寻找d变量,如果没有找到就到外层寻找,直到window, 创建一个
alert(); //5
alert(); //6
例子3:
function t1() {
var a;
function t2 (){
a = 6;  //仅仅是赋值操作 在本函数的作用域里面没有找到就到外层去找 结果找到了一个声明了但没有定义的所以就为not defined
b = 7;  //没有var仅仅是赋值操作 在该函数作用域去找一个叫b的变量 如果木有 就去外层找 最终木有找到就在window 里面添加一个
}
t2();
}
t1();
(); //undefined
(a); //a is not defined
        (b); //
注意:,寻找不到,是作为某个属性不存在,返回undefined
直接以xxx引用某变量,寻找不到,则是报xxx is not defined
经典例子4:
<script type="text/javascript">
var str1 = 'global';
function t1(){
(str1);
(str2);
str2 = 'local';
} 
t1();  // global ; str2 is n