美文网首页
js编译执行过程 和词法作用域

js编译执行过程 和词法作用域

作者: 练习时长2年半的个人练习生 | 来源:发表于2020-06-29 16:43 被阅读0次
分为两个阶段
  • 编译器对代码进行词法分析,将代码变为可运行的代码.
  • js引擎执行(赋值等过程都是在这个阶段完成的)
作用域的概念

代码执行时,变量的访问规则就叫作用域.

词法作用域.

词法作用域意味着 作用域是在书写代码时函数声明的位置来决定的.词法分析阶段就能知道全部标识符在哪里以及如何声明的.

js的作用域划分

js的作用域是词法作用域, 它的作用域只能通过function函数作用域 和 {}块级作用域来划分.当然还有全局作用域

   var str = 'global';
    function say(){
        console.log(str)
    }
    function doSomeThing(){
        let str  = "函数内部作用域";
        say()
    }
    doSomeThing() //global

因为say函数是写在全局作用域内的.它本身作用域内又没有这个变量.所以他会在它定义的作用域往上找. 就找到了全局的 global (和执行位置无关)

相关文章

  • js编译执行过程 和词法作用域

    分为两个阶段 编译器对代码进行词法分析,将代码变为可运行的代码. js引擎执行(赋值等过程都是在这个阶段完成的) ...

  • 你不懂的js上卷(一)

    基本概念 js引擎 编译器 作用域变量赋值操作 词法作用域(定义词法阶段的作用域) 1.由变量或者函数声明时的...

  • JS变量声明提升和函数声明提升

    JS代码分为两个阶段:编译阶段和执行阶段; 编译阶段:会找到所有的声明,并用合适的作用域将它们关联起来,这是词法作...

  • 作用域和闭包

    目录 概述 作用域编译过程词法作用域全局作用域函数作用域 闭包循环和闭包闭包的用途性能 总结 概述 作用域和闭包一...

  • 你不知道的 Javascript

    作用域 词法作用域:编译阶段确定(欺骗词法作用域 eval with) 块作用域 with try/catch l...

  • 成长(4/2000)——面试题合集1

    Javascript 1.作用域 概念: 作用域分全局作用域和函数作用域 预编译 js的两个阶段,预编译和解释执行...

  • js作用域

    词法作用域 -js采用的是词法作用域,函数的作用域基于函数创建的位置。

  • JavaScript作用域和变量提升

    一、JS的作用域 1.JS采用词法作用域 首先,我们得知道JavaScript采取的是词法作用域,而不是动态作用域...

  • 容易错误的js

    JS词法作用域

  • 第八节: JavaScript中this指向问题

    1. this指向问题 1.1 认识词法作用域 其实我们js中的作用域就是词法作用域,我们会发现词法作用域最重要的...

网友评论

      本文标题:js编译执行过程 和词法作用域

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