理解JavaScript作用域
来源:互联网 发布:8月非农数据公布 编辑:程序博客网 时间:2024/06/07 06:46
JavaScript作用域完全由函数决定,if、for语句中的花括号不是独立的作用域
if (true) { var msg = 'msg';}console.log(msg); // 输出 msg;
函数的作用域
JavaScript的作用域是通过函数来定义的,在一个函数中定义的变量只对这个函数内部可见,我们称为函数作用域。在函数中引用一个变量时,JavaScript会先搜索当前函数作用域,如果没有找到则搜索其上层作用域,一直到全局作用域。
var scope = 'global';var f1 = function() { console.log(scope);}f1(); // 输出 globalvar f2 = function() { var scope = 'f2'; console.log(scope);}f2(); // 输出 f2
函数作用域的嵌套
Javascript的函数定义是可以嵌套的,每一层是一个作用域,变量的搜索是从内到外的。
变量语句永远在该作用域最先被执行
var f5 = function() { var scope = 'first'; (function() { var scope = 'second'; (function() { console.log(scope); }()); }());}f5(); // 输出 second
函数作用域的嵌套关系是在定义时决定的,不是在调用时。
var scope = 'global';var f6 = function() { console.log(scope);}var f7 = function() { var scope = 'f7'; f6();}f7(); // 输出 global
0 0
- 理解Javascript作用域
- 理解 javascript 作用域
- 理解JavaScript作用域
- JavaScript 作用域 理解
- 理解JavaScript作用域
- javascript中闭包、作用域理解
- Javascript之理解作用域
- JavaScript作用域个人理解
- 深入理解JavaScript的变量作用域
- 深入理解JavaScript的变量作用域
- 深入理解JavaScript的变量作用域
- 深入理解JavaScript的变量作用域
- 深入理解JavaScript的变量作用域
- 深入理解JavaScript的变量作用域
- 深入理解JavaScript的变量作用域
- javascript函数作用域的理解
- 深入理解JavaScript的变量作用域
- javaScript的作用域链深入理解
- oracle外连接符号(+)的用法
- FLASH与EEPROM的区别
- C#list<T>泛型集合习题
- Divide Two Integers ——解题报告
- Eclipse中添加文档注释快捷键+自动添加注释
- 理解JavaScript作用域
- HTTPPOST 发送JSON格式参数
- Notepad++配置Go语言语法高亮
- iOS runtime原理
- Linux查看系统配置常用命令
- 产品下线也不容易
- 破解windows2008(R2)登录密码方案
- Maven - POM
- imx6 WiFI RTL8188EUS