zoukankan      html  css  js  c++  java
  • JS ----- 底层原理

    什么是JS

    JavaScript是一种基于对象的动态、弱类型脚本语言(简称JS),是一种解释型语言,和其他的编程语言不同,如java/C++等编译型语言,这些语言在代码执行前会进行通篇编译,先编译成字节码(机器码)。然后在执行。而JS不是这样做的,JS是不需要编译成中间码,而是可以直接在浏览器中运行,JS运行过程可分为两个阶段,编译和执行。(可参考你不知道的JS这本书),当JS控制器转到一段可执行的代码时(这段可执行代码就是编译阶段生成的),会创建与之对应的执行上下文(Excution Context简称EC)。执行上下文可以理解为执行环境(执行上下文只能由JS解释器创建,也只能由JS解释器使用,用户是不可以操作该"对象"的)。

    JS 的底层运行原理

    1. 每调用一个函数就会生成一个执行环境(俗称执行上下文),执行上下文环境数量没有限制
    2. 每调用一个函数就会生成一个执行环境(俗称执行上下文),执行上下文环境数量没有限制
    3. 单线程
    4. 同步执行,只有栈顶的上下文处于执行中,其他上下文需要等待
    5. 每次某个函数被调用,就会有个新的执行上下文为其创建,即使是调用的自身函数,也是如此。

    JS中的执行环境分为三类:

    1. 全局环境:当JS引擎进入一个代码块时,如遇到<script>xxx</script>标签,就是进入一个全局执行环境
    2. 函数环境:当一个函数被调用时,在函数内部就形成了一个函数执行环境
    3. eval():把字符串单做JS代码执行,不推荐使用

     

  • 相关阅读:
    jq判断input 复选框有没有选
    jq根据id替换修改或添加css属性
    cookie和session的关系和区别
    tp5 统一返回json格式
    tp5 上传图片(自定义图片路径)
    tp5 生成随机数
    tp5 删除图片以及文件
    tp5 上传视频方法
    tp5 跨域问题
    js替换div里的内容
  • 原文地址:https://www.cnblogs.com/yuerdong/p/11717803.html
Copyright © 2011-2022 走看看