javascript变量作用域

简介:

javascript变量作用域只有两种情况:全局作用域、函数作用域

没有代码块作用域,因而要养成一处声明全部变量的编程习惯(文件头部、函数头部)。

 
  1. function test(){  
  2.     var abc="123";  
  3.     efg="456";  
  4.     put("in test abc="+abc);  
  5.     put("in test efg="+efg);  
  6. }  
  7.  
  8. function test1(){  
  9.     var abc;  
  10.     put("in test1 abc="+abc);  
  11. }  
  12.  
  13. var abc="abc";  
  14. var efg="efg";  
  15.  
  16. test1();  
  17. put("before test abc="+abc);  
  18. put("before test efg="+efg);  
  19. test();  
  20. test1();  
  21. put("after test abc="+abc);  
  22. put("after test efg="+efg);  
  23.  
  24. {  
  25.     var abc="www";  
  26.     put("in block abc="+abc);  
  27. }  
  28.     put("out block abc="+abc); 

调试信息: 
in test1 abc=undefined
before test abc=abc
before test efg=efg
in test abc=123
in test efg=456
in test1 abc=undefined
after test abc=abc
after test efg=456
in block abc=www
out block abc=www




 本文转自 hexiaini235 51CTO博客,原文链接:http://blog.51cto.com/idata/1100248,如需转载请自行联系原作者


相关文章
|
15天前
|
存储 JavaScript 前端开发
解释 JavaScript 中的作用域和作用域链的概念。
【4月更文挑战第4天】JavaScript作用域定义了变量和函数的可见范围,静态决定于编码时。每个函数作为对象拥有`scope`属性,关联运行期上下文集合。执行上下文在函数执行时创建,定义执行环境,每次调用函数都会生成独特上下文。作用域链是按层级组织的作用域集合,自内向外查找变量。变量查找遵循从当前执行上下文到全局上下文的顺序,若找不到则抛出异常。
20 6
|
16天前
|
JavaScript
变量和函数提升(js的问题)
变量和函数提升(js的问题)
|
1月前
|
自然语言处理 JavaScript 前端开发
深入理解JS的执行上下文、词法作用域和闭包(中)
深入理解JS的执行上下文、词法作用域和闭包(中)
|
1月前
|
存储 自然语言处理 JavaScript
深入理解JS的执行上下文、词法作用域和闭包(上)
深入理解JS的执行上下文、词法作用域和闭包(上)
|
18天前
|
JavaScript 前端开发
JavaScript 中如何检测一个变量是一个 String 类型?
JavaScript 中如何检测一个变量是一个 String 类型?
21 2
|
27天前
|
JavaScript 前端开发
js开发:请解释什么是作用域(scope),并说明全局作用域、局部作用域和块级作用域的区别。
JavaScript中的作用域规定了变量和函数的可见性与生命周期。全局作用域适用于整个脚本,变量可通过全局对象访问,可能导致命名冲突和内存占用。局部作用域限于函数内部,每次调用创建新作用域,执行完毕后销毁。ES6引入的块级作用域通过`let`和`const`实现,变量仅在其代码块内有效,并有暂时性死区。作用域机制有助于代码组织和变量管理。
23 1
|
1月前
|
JavaScript 前端开发
JS作用域与作用域链
JS作用域与作用域链
|
1月前
|
自然语言处理 JavaScript 前端开发
深入探索 JS 的提升机制、函数与块作用域以及函数表达式和声明(下)
深入探索 JS 的提升机制、函数与块作用域以及函数表达式和声明(下)
|
1月前
|
JavaScript 前端开发
深入探索 JS 的提升机制、函数与块作用域以及函数表达式和声明(上)
深入探索 JS 的提升机制、函数与块作用域以及函数表达式和声明(上)
|
1月前
|
自然语言处理 JavaScript 前端开发
深入理解JS的执行上下文、词法作用域和闭包(下)
深入理解JS的执行上下文、词法作用域和闭包(下)