JS对象变量、闭包的一些问题
https://www.cnblogs.com/ivehd/p/vo_ao.html
为什么会有预解析,
其实是因为函数在被调用的时候,还没有被执行,会先创建对象变量
对象变量里面存了什么呢?
然后对象变量又会放到作用域链上,所以,函数开始执行的时候,会去作用域上找,最先找的就是自己的对象变量。
所以如果内部用同名的变量,那么肯定是获取到undefined的那个值了。
至于之前的那个代码
for(var i=0;i<4;i++){setTimeout(function(i) {console.log(i);}(i),1000); }
setTimeout要传的是一个函数,
这里
function(i) {console.log(i);}(i)
已经是函数的执行了,所以在传入setTimeout的时候,该函数已经执行了,所以当然是0 1 2 3啦!
根本都没有延迟!
所以这和闭包没有关系。
转载于:https://www.cnblogs.com/weizhibin1996/p/9702671.html
JS对象变量、闭包的一些问题相关推荐
- js 执行环境 活动对象 变量对象 作用域链的理解
看一下是知乎大神对于 js 执行环境 活动对象 变量对象 作用域链的解释 假设在全局环境下定义了函数pub()和变量pubvar: var pubvar = 1; function pub () {v ...
- android js变量定义数组长度,js 声明数组和向数组中添加对象变量的简单实例
数组有四种定义的方式 使用构造函数: var a = new Array(); var b = new Array(10); var c = new Array("first", ...
- 【JavaScript】JS的变量、数组、计算器案例、函数、类、常用对象的方法
目录 01-js-js的声明和引入 <!DOCTYPE html> <html><head><meta charset="UTF-8"&g ...
- 使用变量的值作为JS对象的属性名,从而获取其对应的值
使用变量的值作为JS对象的属性名,从而获取其对应的值 <script>var object={"a":1111,"b":2222};var para ...
- 串讲-解释篇:作用域,作用域链,执行环境,变量对象,活动对象,闭包
这篇接:理论篇:作用域,作用域链,执行环境,变量对象,活动对象,闭包 看例子: function compare(value1, value2) {if (value1 < value2) {r ...
- android js变量定义数组,js 声明数组和向数组中添加对象变量的简单实例
数组有四种定义的方式 使用构造函数: var a = new Array(); var b = new Array(10); var c = new Array("first", ...
- html数组添加对象的方法,js声明数组和向数组中添加对象变量的简单实例
数组有四种定义的方式 使用构造函数: var a = new Array(); var b = new Array(10); var c = new Array("first", ...
- js笔记---作用域(执行上下文[execution context],活动对象) 闭包
作用域: 首先,在javascript中的每个函数都是对象,是Funtion对象的一个实例,而Funtion中有一系列仅供javascript引擎存取的内部属性,其中一个便是[[scope]],它包含 ...
- 【学习笔记】深入理解js原型和闭包(5)——instanceof
又介绍一个老朋友--instanceof. 对于值类型,你可以通过typeof判断,string/number/boolean都很清楚,但是typeof在判断到引用类型的时候,返回值只有object/ ...
最新文章
- SpringBoot2.3 修改响应头、添加更新token、解决在过滤器中修改失败
- (Unfinished)RNN-循环神经网络之LSTM和GRU-04介绍及推导
- Python元组介绍
- itchat python_itchat-python搭建微信机器人(附示例)
- 管理大型共享数据库,做到这几点不再头疼!
- Kibana图形、报表分析
- 学习docker on windows (1): 为什么要使用docker
- java jsp中文乱码怎么解决_如何解决JSP中文乱码问题
- java 等值线,java 克里金插值+等值线划分示例
- java身份证号/手机号隐藏中间几位
- jQuery获取元素上一个、下一个、父元素、子元素
- 宏碁暗影骑士3 win10 和 ubuntu18.04双系统安装
- linux开组态软件,基于嵌入式Linux的组态软件实时数据库的设计
- Python爬取京东笔记本电脑,来看看那个牌子最棒!
- 1.1[潜心创作]冒险游戏(MineCraft)不喜勿喷
- 提交apk到小米应用商店,monkey测试未通过被拒
- python程序设计重点_《Python程序设计》怎么样_目录_pdf在线阅读 - 课课家教育
- PCB UL阻燃等级标准
- SMT的基本原理介绍
- [附源码]java毕业设计小锅米线点餐管理系统
热门文章
- matlab中画花瓣,matlab画心,画玫瑰花,表白合集
- PHP新浪乐居面试题,一个朋友去新浪乐居面试时的面试题(PHP)
- java key值_java-必须为此操作提供PartitionKey值
- java spring省略jsp,Java +Tomcat + SpringMVC实现页面访问示例解析
- 如何检查php代码规范,用CodeSniffer检查PHP项目的代码规范
- php中调行高代码_单元格行高怎么设置
- mysql 双冒号_jdk8新特性之双冒号 :: 用法及详解
- 用python处理excel 数据分析_像Excel一样使用python进行数据分析(1)
- 从高斯分布的导出讲起——为什么概率密度函数长成这个样子?
- java字符匹配,Java:匹配字符串中的短语