首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
宝塔
V2EX  ›  问与答

不懂就问,关于 js 的一个问题

  •  
  •   Sornets · 115 天前 · 754 次点击
    这是一个创建于 115 天前的主题,其中的信息可能已经有所发展或是发生改变。

    既然 js 作为一个动态编译语言,效率是它的缺点之一

    那能否通过在浏览器加载“编译”之后的 js,在浏览器只将编译之后的 js 转换成机器码,这样会否提高 js 的执行效率呢?

    17 回复  |  直到 2019-07-26 12:21:55 +08:00
        1
    hiplon   115 天前
    现在应该浏览器也是在本地“编译” js
        2
    runze   115 天前
    1、浏览器本来就会“编译”
    2、asm.js 了解一下?
    3、WebAssembly 了解一下?
        3
    Sornets   115 天前
    @runze
    @hiplon 我是说直接 script 标签 src 属性填写的,就是编译之后的 js 文件的地址,这样就能省掉编译的时间,不过看起来好像意义不大
        4
    singleQ   115 天前 via Android
    jit 了解下
        5
    Sornets   115 天前
    @runze
    @singleQ 感谢,我去了解一下
        6
    blodside   115 天前
    你说的就是 WebAssembly,用这项技术使得现在可以在浏览器运行 windows 了。
    在浏览器里运行 win2000,原理是用 WebAssembly 跑 qemu: https://bellard.org/jslinux/vm.html?url=https://bellard.org/jslinux/win2k.cfg&mem=192&graphic=1&w=800&h=600
        7
    dremy   115 天前 via iPhone
    加载编译后的二进制文件,会变得很大,影响加载速度
        8
    flowfire   115 天前 via iPhone
    webassembly 了解一下,另外 js 是动态类型,很难预先优化编译,目前 v8 已经做到很好了
        9
    maichael   115 天前
    js 是动态编程语言,不是“动态编译”语言,选择用解释器,编译器,又或者是 JIT 这种模式来运行,跟语言是无关的。
        10
    misaka19000   115 天前
    V8 有 JIT 吧,执行效率已经很高了
        11
    nigelvon   115 天前
    动态编译不是语言问题,弱类型才是语言问题。
        12
    mystorp   115 天前
    新出的 quickjs 就是这样,了解一下
        13
    sunjourney   115 天前
    既然 js 作为一个动态编译语言,效率是它的缺点之一

    笑了
        14
    azh7138m   115 天前 via Android
    @blodside
    原理是用 WebAssembly 跑 qemu

    还真是章口就莱
    jslinux 和 qemu 只是同一个作者,前者是一个纯 js 实现
        15
    otakustay   115 天前
    JS 有一个 bytecode 的提案,现在不知道 stage 几了……用 js 做 wasm 不见得比 js 快就是了
        16
    love   115 天前 via Android
    js 瓶颈完全不在执行效率。
    要说缺点,现在只剩下了对各种错误太宽容了,如果像 python 这种程度就可以了,这样想动态就直接用,想静态就用 ts,完美了
        17
    serge001   112 天前
    js 是可以预先成编译成字节码然后在 node 中运行的,可以搜 node 编译 字节码
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1027 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 25ms · UTC 18:44 · PVG 02:44 · LAX 10:44 · JFK 13:44
    ♥ Do have faith in what you're doing.