闭包中变量访问问题(笔试题)
来源:互联网 发布:软件缺陷的生命周期 编辑:程序博客网 时间:2024/06/06 01:33
看一段代码,以下注释均为个人理解,总结而来,参考看看
var name="world";
(function(){console.log(name);
if(typeof name==="undefined"){
var name="jack";
console.log("Goodbye "+name);
}else{
console.log("Hello"+name);
}
})();//Goodbye jack
解释:
1、只要在预解析时发现了闭包中有name的存在,就不会去外部找name,所以第三行的name是undefined。而如果将下边的所有内容包括var name注释掉,则此处的name就只能去闭包外边找,找到了全局变量name,值为world。
2、在预解析时,发现了在闭包这个位置处(代码第5行)用var定义了一个局部变量name,但预解析时并没有赋值
3、而对闭包中name值的判断在它var定义之前,所以是undefined,所以if条件成立,执行if的内容
阅读全文
0 0
- 闭包中变量访问问题(笔试题)
- 变量、初始化块和构造方法的初始化顺序问题(笔试题)
- 程序笔试题-const变量通过指针修改问题
- 程序笔试题-const变量通过指针修改问题
- 有关一些企业笔试题的变量定义问题
- C++局部变量详解(笔试题)
- 笔试题问题(二)
- 同名变量的访问(作用域问题)
- 多线程环境下对变量的读写操作的原子性问题(一道百度笔试题引发的思考)
- 多线程环境下对变量的读写操作的原子性问题(一道百度笔试题引发的思考)
- 多线程环境下对变量的读写操作的原子性问题(一道百度笔试题引发的思考)
- 变量声明提升笔试题
- 全局变量和局部变量是否可以重名(笔试题)
- delphi单元的变量和函数访问权限问题(访问范围/生命周期)
- java笔试题---内部类的访问(静态+动态)
- 【c/c++笔试题一】const变量通过指针修改问题
- 关于类实例 “.” 访问实例变量问题
- 关于内部类变量访问问题
- 【java】【开源代码分析】java并发编程与junit4
- 【java】--@PathParam 和@QueryParam
- 【计算机视觉之二】人工神经网络
- LeetCode 537. Complex Number Multiplication
- python 编写简单网页服务器
- 闭包中变量访问问题(笔试题)
- ITSM基础框架开发维护指南
- 第四第三公司小项目简单angularjs
- Linux中模拟shell实现ls命令(不加参数)
- Mysql01_基本类型与建表的sql
- C++并发编程学习——3.在线程间共享数据
- Linux 常用命令
- ubuntu 16.04安装cpu版本tensorflow
- thymeleaf模板引擎之基本语法