1 / 16
文档名称:

JS作用域,消息队列--课件(PPT演示稿).ppt

格式:ppt   页数:16页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

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

分享

预览

JS作用域,消息队列--课件(PPT演示稿).ppt

上传人:2768573384 2016/7/10 文件大小:0 KB

下载得到文件列表

JS作用域,消息队列--课件(PPT演示稿).ppt

相关文档

文档介绍

文档介绍:JavaScript 的作用域与消息队列 JavaScript 的作用域? JavaScript 的变量作用域是基于其特有的作用域链的。? JavaScript 没有块级作用域。?函数中声明的变量在整个函数中都有定义。 JavaScript 的作用域?变量的声明?JS 中变量申明分显式申明和隐式申明。? var i=100;// 显式申明? i=100;// 隐式申明?如果用隐式申明,那么就覆盖了全局变量 i JavaScript 的作用域链?<script type="text/javascript"> 1. var rain = 1; 2. function rainman() 3. { 4. var man = 2; 5. function inner(); 6. { 7. var innerVar = 4; 8. alert(rain); 9. } 10. inner(); // 调用 inner 函数 11. } 12. rainman(); // 调用 rainman 函数?</script> ?作用域链: JavaScript 需要查询一个变量 x时,首先会查找作用域链的第一个对象,如果以第一个对象没有定义 x变量, JavaScript 会继续查找有没有定义 x变量,如果第二个对象没有定义则会继续查找, 以此类推。 JavaScript 的作用域链?函数体内部,局部变量的优先级比同名的全局变量高?<script type="text/javascript"> 1. var rain = 1; // 定义全局变量 rain 2. function check() 3. { 4. var rain = 100; // 定义局部变量 rain 5. alert( rain ); 6. } 7. check(); 8. alert( rain ); ?</script> JavaScript 的作用域链? JavaScript 没有块级作用域。 1. <script type="text/javascript"> 2. function rainman() 3. { 4. // rainman 函数体内存在三个局部变量 i j k 5. var i = 0; 6. if ( 1 ) 7. { 8. var j = 0; 9. for(var k = 0; k < 3; k++) 10. { 11. alert( k ); 12. } 13. alert( k ); 14. } 15. alert( j ); 16. } 17. </script> 18. i、j、k作用域是相同的,他们在整个 rain 函数体内都是全局的。 JavaScript 的作用域链?函数中声明的变量在整个函数中都有定义?<script type="text/javascript"> 1. function rain() 2. { 3. var x = 1; 4. function man() 5. { 6. x = 100; 7. } 8. man(); // 调用 man 9. alert( x ); 10. } 11. rain(); // 调用 rain </script> ?上面得代码说明了,变量 x在整个 rain 函数体内都可以使用,并可以重新赋值 JavaScript 的作用域链?<script type="text/javascript"> 1. var x = 1; 2. function rain() 3. { 4. alert( x ); 5. var x = 'rain-man'; 6. alert( x ); 7. } 8. rain(); ? </script> ?是由于在函数 rain 内局部变量 x在整个函数体内都有定义( var x= ‘ rain-man ’,进行了声明),所以在整个 rain 函数体内隐藏了同名的全局变量 x。这里之所以会弹出‘