js 执行环境

作者: 唯有前行可破焦虑 | 来源:发表于2019-05-10 20:39 被阅读0次

Javascript是解释性语言,执行的时候动态解析编译。在端运行的时候,这里以浏览器为讨论环境。

浏览器主要分为Browser进程,Render进程,具体关系这里不深入讨论,可以参考下图:

这边有几个概念需要了解下:

执行环境:分为全局执行环境和函数执行环境,定义了变量或函数有权访问的其他数据;

注:web浏览器中全局执行环境被认为是window,关闭页面或浏览器才会销毁;

变量对象:每个执行环境都有一个变量对象,保存着当前执行环境中的所有变量和函数;

作用域:当前变量对象中的属性,js解析阶段就会确定;

活动对象:如果是函数在执行,将函数的活动对象设置为变量对象;

当代码在一个环境执行的时候,会创建一个

作用域链:它定义了当前执行环境有权访问的变量或函数的访问顺序,作用域链的顶端永远是当前执行环境的变量对象,再下一个变量对象就是下一个包含环境,一直延伸到全局执行环境的变量对象;

注:全局作用域的变量对象,永远是作用域链的最后一个对象。

代码执行的时候,会先判断浏览器缓存中是否有代码可执行的机器代码缓存(每个js引擎实现的方式不一致),如果有直接推入栈中执行,没有进入以下编译步骤:

v8 引擎:

   

相关文章

  • swift和javaScriptCore交互

    JSContext:JSContext是JS的执行环境,通过evaluateScript()方法可以执行JS代码 ...

  • js闭包、执行环境、作用域链

    执行环境 执行环境:函数的运行环境 js的全局执行环境:window对象=》活动对象 1、每个函数都有一个执行环境...

  • js 执行环境

    Javascript是解释性语言,执行的时候动态解析编译。在端运行的时候,这里以浏览器为讨论环境。 浏览器主要分为...

  • JS执行环境

    JS脚本可在 浏览器和NodeJS中运行 浏览器 新建html文件 ...

  • js执行环境

    执行环境 常见的js引擎载体有、web浏览器、nodeJs、移动端vebView、小程序 在不同的执行环境中都有自...

  • 1-1 JavaScript执行环境 执行栈

    1.1执行环境 执行环境可以简称为环境,可以理解为JS被解析和执行所在的外部环境。 1.1.1全局执行环境 全局执...

  • 理解 JavaScript 执行环境 -- 去繁存简

    1.执行环境 执行环境(execution context)是一个抽象概念, 以下简称context。JS 的执行...

  • JS学习之执行环境和作用域

    JS学习之执行环境和作用域 执行环境和作用域相关介绍 执行环境 执行环境定义了变量或函数有权访问的其他数据,决定了...

  • js 执行上下文

    1. 执行上下文: Execution Content:函数执行前的准备工作 2. JS执行环境 3. JS是如何...

  • 前端经典面试题合集(一)

    1.谈谈变量提升 考察点:js基础知识,js执行机制,变量的提升答:执行js代码时,会生成执行环境,在函数中的代码...

网友评论

    本文标题:js 执行环境

    本文链接:https://www.haomeiwen.com/subject/uyuooqtx.html