你了解JavaScript的js运行三部曲吗

 更新时间:2022年02月09日 10:33:32   作者:Bella..  
这篇文章主要为大家详细介绍了JavaScript的js运行三部曲,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

1.1 语法分析

预编译之前,先通篇扫描看看有没有语法错误

1.2 预编译 

1.2.1 函数声明整体提升

声明函数的时候不管你写到哪里,都会把这个函数整体提升到最前面

1.2.2 变量 声明提升

只是把var a;提升到前面去,输出结果为undefined,声明提升

document.write(a);

var a=123;

1.2.3 imply global暗示全局变量

1. 定义:即任何变量,如果变量未经声明就赋值,此变量就为全局对象(window)所有

eg:a=10;

----------> window.a=10;

 上面的代码:var声明了a,从右到左赋值,先将123赋给b,再给a,导致的结果就是b没有声明,即变为全局变量window所有,打印window.b有结果123,window.a没结果undefined。

2. 一切声明的全局变量,全是window(全局的域)的属性

1.2.4 预编译四部曲(预编译发生在函数执行的前一刻)

1.创建AO对象(Activation Object)活跃对象(作用域=执行器上下文),全局变量是GO(global object==window)

2.找形参和变量声明,将变量和形参名作为AO属性名,值为undefined

3.将实参值和形参统一(全局变量就没这步了)

4.在函数体里面找函数声明,值是函数体

例1:

建立函数

预编译看过的地方,执行函数的时候就不用在看了,下面是函数执行结果

例2:

 函数执行完后打印出  1,2,2

 例3:

最后函数执行完了才把a变成10

例4:

1.3 解释执行

单线程,解释一行执行一行

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!     

相关文章

  • 微信和qq时间格式模板实例详解

    微信和qq时间格式模板实例详解

    这篇文章主要介绍了微信和qq时间格式模板实例详解的相关资料,需要的朋友可以参考下
    2016-10-10
  • 详解JavaScript函数绑定

    详解JavaScript函数绑定

    在JavaScript与DOM交互中经常需要使用函数绑定,定义一个函数然后将其绑定到特定DOM元素或集合的某个事件触发程序上,绑定函数经常和回调函数及事件处理程序一起使用,以便把函数作为变量传递的同时保留代码执行环境
    2013-08-08
  • javascript对象之内置对象Math使用方法

    javascript对象之内置对象Math使用方法

    Math对象的一些方法能实现我们课本上的某些数学计算,比较常用的方法有如下几个
    2010-04-04
  • javascript ES6 新增了let命令使用介绍

    javascript ES6 新增了let命令使用介绍

    ES6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效
    2017-07-07
  • js玩一玩WSH吧

    js玩一玩WSH吧

    js玩一玩WSH吧...
    2007-02-02
  • JavaScript执行顺序详细介绍

    JavaScript执行顺序详细介绍

    这篇文章主要介绍了JavaScript执行顺序,有需要的朋友可以参考一下
    2013-12-12
  • javascript学习笔记_浅谈基础语法,类型,变量

    javascript学习笔记_浅谈基础语法,类型,变量

    下面小编就为大家带来一篇javascript学习笔记_浅谈基础语法,类型,变量。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • JavaScript For...In 使用方法

    JavaScript For...In 使用方法

    JavaScript For...In 使用方法...
    2007-04-04
  • Javascript中的变量使用说明

    Javascript中的变量使用说明

    使用过javascript的朋友都知道,在javascript中,变量的使用是个比较头疼的问题,经常会产生 些比较匪夷所思的结果。究其原因,大多是对javascript的变量相关知识了解得不够透彻。
    2010-05-05
  • 在JavaScript中typeof的用途介绍

    在JavaScript中typeof的用途介绍

    本篇文章,小编为大家介绍,在JavaScript中typeof的用途介绍。不过在阅读本文的前提是,你现在应该已经知道原始值和对象值的区别了
    2013-04-04

最新评论