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预解析、代码执行相关推荐

  1. JavaScript(三)—— JavaScript 函数/JavaScript 作用域/JavaScript 预解析/JavaScript 对象

    本篇为 JavaScript 系列笔记第三篇,将陆续更新 JavaScript(一)-- 初识JavaScript/注释/输入输出语句/变量/数据类型 JavaScript(二)-- JavaScri ...

  2. JavaScript 预解析机制

    JavaScript预解析 文章目录 JavaScript预解析 JS预解析? 一.预解析受体 二.对var的预解析 三.对function的预解析 四.var在作用域内 五.function作参.在 ...

  3. JavaScript预解析、作用域题目记录

    JavaScript预解析.作用域题目记录 写出以下题目执行的结果及过程分析 function fun ( n ) {console.log( n );var n = 456;console.log( ...

  4. JavaScript ( 预解析 )

    <script> // 预解析:教如何看懂代码的执行过程 // js的执行过程: /* 1.解析 - 预解析 2.执行 - 然后,代码按照预解析的结果顺序执行 */ // 预解析具体在做什 ...

  5. Javascript预解析、作用域、作用域链

    最近在看js的一些资料,总结一下昨晚看到的js作用域方面的知识,不准确的地方希望留言指正! 先看片段js代码如下: 1 < script type="text/javascript&q ...

  6. JavaScript 预解析、对象、错误

    单线程 记住一句话:JavaScript语言是单线程的 区分线程和进程 进程是一个工厂,工厂有它的独立资源-工厂之间相互独立-线程是工厂中的工人,多个工人协作完成任务-工厂内有一个或多个工人-工人之间 ...

  7. JavaScript预解析详解

    JS预解析 JS解析器在运行JS代码时分两步: 预解析和代码执行 预解析 JS引擎会把JS里面所有 var 和 function 提升到当前作用域的最前面 代码执行时, 按照代码书写的顺序从上往下执行 ...

  8. 轻松搞定javascript预解析机制(搞定后,一切有关变态面试题都是浮云~~)

    hey,guys!我们一起总结一下JS预解析吧! 首先,我们得搞清楚JS预解析和JS逐行执行的关系.其实它们两并不冲突,一个例子轻松理解它们的关系: 你去酒店吃饭,吃饭前你得看下菜谱,点下菜(JS预解 ...

  9. 前端学习(756):javascript预解析

最新文章

  1. 驰为hi10u盘启动linux,驰为Hi10 Plus二合一平板电脑:双系统更有玩头
  2. android 设置键盘弹出动画,Android实现键盘弹出界面上移的实现思路
  3. 内核函数 系统调用 系统命令 库函数
  4. JNI传递字符串数组J-StringArray
  5. Windows下 Python3.7.0 运行环境的搭建 一套操作后就可以使用Python写代码啦~
  6. 2016年4月计算机组成原理试题答案,2019年4月成人自考计算机组成原理真题及答案解析...
  7. java中的URLConnection
  8. “小米都造车了,为什么华为不造?”华为轮值董事长亲自回应
  9. 计算直方图中面积最大的矩形
  10. JAVA中的多线程(八):线程的优先级和yield方法
  11. 10行python代码爬取百度热榜
  12. 【线性代数笔记】矩阵的合同关系
  13. BC20+MQTT+OneNet 订阅主题总是error
  14. 前端目标——天猫网页
  15. Gromacs相关基础知识
  16. 深度学习-活体检测发展之数据篇(二)
  17. python爬取微博评论点赞数_Python selenium爬取微博数据代码实例
  18. php怎么把网页生成excel,php网页表格生成excel表格数据-php怎么把数据生成excel表格...
  19. MYSQL--表分区、查看分区
  20. 数据结构——图书管理系统

热门文章

  1. C# WebService 上传图片
  2. Bailian2701 Bailian3864 与7无关的数【进制】(POJ NOI0105-39)
  3. UVA10033 Interpreter【模拟】
  4. Project Euler Problem 14 Longest Collatz sequence
  5. windows cmd 命令行 —— 进程与服务
  6. 从零(0)开始计数与从 1 开始计数
  7. Matlab Tricks( 八)—— 将 pgm 格式文件转换为 png 格式
  8. 如何通过父类引用“调用”子类所独有的方法
  9. Python 基础——random模块
  10. java mysql jdbc封装类_Java-jdbc-封装类形式的数据库操作