var i=10; var j=3; function a() { console.log(i);//undefined console.log(j);//3 var i = 2; console.log(i);//2 }; a();
原来JS在执行过程之前,会对【var】和【function】定义做“预解析”。
解析引擎以块为单位级别,执行所有Var变量的创建,并赋予一个初始值undefined。
当a执行时,它的执行环境中有i的声明,所以不会使用作用域链上的全局变量i——这个i是初始化了,但是不用它。当运行第一个console.log(i)时,i么有初始化,故为undefined。
Refer: Jessica's Blog
相关推荐
### JavaScript上机实验题知识点概览 #### 一、JavaScript表达式和逻辑控制语句的使用 ##### 实验目的 1. **理解变量**: 学习如何声明变量、初始化变量及变量的作用范围。 2. **数据类型掌握**: 包括基本数据类型...
根据给定的信息,我们将深入分析并提取出与JavaScript面试题相关的知识点。 ### 一、单选题 #### 1. 以下哪条语句会产生运行错误: - **选项A**: `var obj = ();` - **解析**:在JavaScript中,括号`()`通常用于...
JavaScript中的预解析(也称为预声明)是一种在代码执行前解析和处理变量和函数声明的过程。这个机制确保了变量和函数在使用前已经被声明,从而避免了潜在的错误。预解析分为两个不同的部分:变量的预解析和函数的预...
JavaScript具有"预解析"(也称为"提升")这一特殊的特性,这使得在代码执行前,解释器会先进行一次扫描,处理变量声明和函数声明。理解预解析对于编写有效的、无错误的JavaScript代码至关重要。 首先,预解析不会...
本示例"在线考试连线题 js demo"显然是一个用JavaScript编写的用于创建连线题的演示项目。 JavaScript是网页开发中的主要脚本语言,负责处理页面的动态行为。在本demo中,JavaScript将用于创建交互式的连线界面,...
本压缩包文件“js2阶段的js第一章课后习题答案”是针对JavaScript学习者的一个资源,特别是那些正在进行js2阶段学习的学员。这个章节通常涵盖JavaScript的基础概念,包括语法、变量、数据类型、操作符、流程控制以及...
json3.js 【JS / JavaScript 中解析JSON的js包,JSON官方的JSON解析包】。JavaScript中解析JSON的js包,页面中引入json3.js,即可使用。 使用方法:JSON.parse(str), JSON.stringify(obj) 更多详情请参考博文: ...
当你在页面需要预加载的时候可以使用本页面,还可以在本页面放一些广告或者笑话打发时间的同时给浏览者深刻的影响。
本文将深入探讨“图片预加载js”这一主题,包括预加载的原理、实现方式以及如何使用JavaScript来优化这个过程。 一、图片预加载的原理 图片预加载是指在用户实际看到图片之前,提前将图片数据加载到浏览器的缓存中...
本项目"**H5+canvas+js实现连线题**"就是利用这些技术来创建一种互动式的在线连线题目,这在教育、测试或游戏场景中非常实用。 连线题是一种常见的认知测试形式,通常要求用户将两个相关的项目通过线条连接起来。在...
资源为js文件,下载后直接用script标签引入,需要解析时调用该js第一个方法,参数为cron定时器表达式字符串,例如:translateCRONToChinese("0 0 12 */1 * ?");
练完这100题,随便找个月入1W工作不闹着玩?
为了提高 JavaScript 的性能,需要遵循严格模式、将 js 脚本放在页面底部、将 js 脚本将脚本成组打包、使用非阻塞方式下载 js 脚本、尽量使用局部变量来保存全局变量、尽量减少使用闭包、使用 window 对象属性方法时...
JS预解释是JavaScript语言的一个重要特性,它涉及到变量和函数在代码执行前的声明和定义过程。理解JS预解释对编写正确和高效的JavaScript代码至关重要。以下是对JS预解释相关知识点的详细解读。 1. JS内存空间: ...
猿人学js逆向第二题完整补环境js文件
【标题】"JS在线答题选择结果代码.zip"中包含的是一个使用JavaScript实现的在线选择题答题系统的基础代码。JavaScript,通常简称为JS,是一种广泛应用于客户端网页开发的脚本语言,能够实现动态交互效果,无需刷新...
本资源是关于JavaScript的练习题集,涵盖了多种题型,包括单选题、多选题、判断题、填空题、阅读题、问答题和设计题。下面将对这些题型进行详细解释和分析。 单选题 1. JavaScript 中,以下哪条语句一定会产生运行...
《战胜Javascript必做练习50题》是一本专注于提升Javascript编程技能的实用教程书籍。书籍通过50个精心挑选的程序实例,旨在帮助具有一定HTML和Javascript基础的读者,通过实际操作和思考题来加深理解和提升编程水平...
"JavaScript/JQuery考试题解析" 本文将对给定的JavaScript/JQuery考试题进行解析,涵盖JavaScript基本概念、JQuery语法、DOM操作、事件处理等多方面的知识点。 1. JavaScript语言的特点: JavaScript是一种基于...