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,如需转载请自行联系原作者


相关文章
|
13天前
|
JavaScript 前端开发
JavaScript 作用域
JavaScript 作用域
|
1月前
|
自然语言处理 JavaScript 前端开发
JavaScript作用域
JavaScript作用域
26 0
|
9月前
|
JavaScript 前端开发
JavaScript 为什么要进行变量提升,它导致了什么问题?
JavaScript 为什么要进行变量提升,它导致了什么问题?
|
9月前
|
自然语言处理 JavaScript 前端开发
JavaScript 变量作用域、this、闭包
JavaScript 变量作用域、this、闭包
46 0
|
10月前
|
JavaScript 前端开发 Go
JavaScript的作用域
JavaScript的作用域
31 0
|
JavaScript 前端开发 开发者
JavaScript 中的变量声明
JavaScript 中的变量声明
66 0
JavaScript 中的变量声明
|
开发框架 自然语言处理 JavaScript
漫谈 JavaScript 变量提升和函数提升
在 ES6 规范出现之前,使用 JavaScript 声明变量只有 `var`, `function` 以及隐式声明三种方式。 按照一般编程的思维,我们会通过“先声明,后调用”的方式去使用变量,例如: ```js var a = 3; console.log(a); // 3 ``` 但假如反过来,我们“先调用,后声明”,会发生什么呢? ```js console.log(a); // u
|
JavaScript 前端开发
关于对JavaScript变量提升的理解
JavaScript是单线程语言,所以执行肯定是按顺序执行。但是并不是逐行的分析和执行,而是一段一段地分析执行,会先进行编译阶段然后才是执行阶段。在编译阶段阶段,代码真正执行前的几毫秒,会检测到所有的变量和函数声明,所有这些函数和变量声明都被添加到名为Lexical Environment的JavaScript数据结构内的内存中。所以这些变量和函数能在它们真正被声明之前使用。
|
自然语言处理 JavaScript 前端开发
浅谈 JavaScript 变量提升
在 ECMAScript6 中,新增了 let 和 const 关键字用来声明变量。在前端面试中也常被问到 let、const和 var 的区别,这就涉及到了变量提升、暂时性死区等知识点。下面就来看看什么是变量提升和暂时性死区。
168 0
|
JavaScript 前端开发
JavaScript——变量作用域
局部变量只能在函数内部使用 全局变量可以在不同函数内使用
96 0