Javascript预解析、代码执行
1、js引擎分为两部 :预解析 代码执行
- 预解析js引擎会把 js 里面所有的 var 还有 function 提升到当前作用域的最前面
- 代码执行 按照代码书写的顺序从上往下执行
2、预解析分为 变量预解析(变量提升)和 函数预解析(函数提升)
- 变量提升 就是把所有的变量提升到当前的作用域最前面 不提升赋值操作
- 函数提升 就是把所有的函数声明提升到当前作用域的最前面 不调用函数
// 代码预解 代码执行// 1 问console.log(num);// 2 问console.log(num); // undefined var num = 10;// 3 问fn();function (){console.log(11);}// 4 问fun(); // 报错var fun = function(){console.log(22);}
f1();console.log(c);console.log(b);console.log(a);function f1() {var a = b = c = 9;// 相当于 var a = 9; b = 9; c = 9; b 和 c 直接赋值 没有var 声明 当全局变量来看// 集体声明 var a = 9, b = 9, c = 9;console.log(a);console.log(b);console.log(c);}// 相当于function f1() {var a = b = c = 9;console.log(a); // 9console.log(b); // 9console.log(c); // 9}f1();console.log(c); // 9console.log(b); // 9console.log(a); // undefined
Javascript预解析、代码执行相关推荐
- JavaScript(三)—— JavaScript 函数/JavaScript 作用域/JavaScript 预解析/JavaScript 对象
本篇为 JavaScript 系列笔记第三篇,将陆续更新 JavaScript(一)-- 初识JavaScript/注释/输入输出语句/变量/数据类型 JavaScript(二)-- JavaScri ...
- JavaScript 预解析机制
JavaScript预解析 文章目录 JavaScript预解析 JS预解析? 一.预解析受体 二.对var的预解析 三.对function的预解析 四.var在作用域内 五.function作参.在 ...
- JavaScript预解析、作用域题目记录
JavaScript预解析.作用域题目记录 写出以下题目执行的结果及过程分析 function fun ( n ) {console.log( n );var n = 456;console.log( ...
- JavaScript ( 预解析 )
<script> // 预解析:教如何看懂代码的执行过程 // js的执行过程: /* 1.解析 - 预解析 2.执行 - 然后,代码按照预解析的结果顺序执行 */ // 预解析具体在做什 ...
- Javascript预解析、作用域、作用域链
最近在看js的一些资料,总结一下昨晚看到的js作用域方面的知识,不准确的地方希望留言指正! 先看片段js代码如下: 1 < script type="text/javascript&q ...
- JavaScript 预解析、对象、错误
单线程 记住一句话:JavaScript语言是单线程的 区分线程和进程 进程是一个工厂,工厂有它的独立资源-工厂之间相互独立-线程是工厂中的工人,多个工人协作完成任务-工厂内有一个或多个工人-工人之间 ...
- JavaScript预解析详解
JS预解析 JS解析器在运行JS代码时分两步: 预解析和代码执行 预解析 JS引擎会把JS里面所有 var 和 function 提升到当前作用域的最前面 代码执行时, 按照代码书写的顺序从上往下执行 ...
- 轻松搞定javascript预解析机制(搞定后,一切有关变态面试题都是浮云~~)
hey,guys!我们一起总结一下JS预解析吧! 首先,我们得搞清楚JS预解析和JS逐行执行的关系.其实它们两并不冲突,一个例子轻松理解它们的关系: 你去酒店吃饭,吃饭前你得看下菜谱,点下菜(JS预解 ...
- 前端学习(756):javascript预解析
最新文章
- 驰为hi10u盘启动linux,驰为Hi10 Plus二合一平板电脑:双系统更有玩头
- android 设置键盘弹出动画,Android实现键盘弹出界面上移的实现思路
- 内核函数 系统调用 系统命令 库函数
- JNI传递字符串数组J-StringArray
- Windows下 Python3.7.0 运行环境的搭建 一套操作后就可以使用Python写代码啦~
- 2016年4月计算机组成原理试题答案,2019年4月成人自考计算机组成原理真题及答案解析...
- java中的URLConnection
- “小米都造车了,为什么华为不造?”华为轮值董事长亲自回应
- 计算直方图中面积最大的矩形
- JAVA中的多线程(八):线程的优先级和yield方法
- 10行python代码爬取百度热榜
- 【线性代数笔记】矩阵的合同关系
- BC20+MQTT+OneNet 订阅主题总是error
- 前端目标——天猫网页
- Gromacs相关基础知识
- 深度学习-活体检测发展之数据篇(二)
- python爬取微博评论点赞数_Python selenium爬取微博数据代码实例
- php怎么把网页生成excel,php网页表格生成excel表格数据-php怎么把数据生成excel表格...
- MYSQL--表分区、查看分区
- 数据结构——图书管理系统
热门文章
- C# WebService 上传图片
- Bailian2701 Bailian3864 与7无关的数【进制】(POJ NOI0105-39)
- UVA10033 Interpreter【模拟】
- Project Euler Problem 14 Longest Collatz sequence
- windows cmd 命令行 —— 进程与服务
- 从零(0)开始计数与从 1 开始计数
- Matlab Tricks( 八)—— 将 pgm 格式文件转换为 png 格式
- 如何通过父类引用“调用”子类所独有的方法
- Python 基础——random模块
- java mysql jdbc封装类_Java-jdbc-封装类形式的数据库操作