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

es6 出来这么多年了, var 这个东西大家也声讨了很久,为什么现在很多非页面相关的 js(比如算法、库)依然在写 var

  •  1
     
  •   Leviathann · 2021-03-25 16:46:59 +08:00 via iPhone · 2254 次点击
    这是一个创建于 1368 天前的主题,其中的信息可能已经有所发展或是发生改变。
    是 js 社区的潜规则吗
    14 条回复    2021-04-02 01:55:09 +08:00
    liyang5945
        1
    liyang5945  
       2021-03-25 16:56:40 +08:00
    听说过 python3 吗
    noreplay
        2
    noreplay  
       2021-03-25 17:19:36 +08:00 via Android
    听说过 Java 8910111213141516 吗?
    wunonglin
        3
    wunonglin  
       2021-03-25 17:25:40 +08:00
    你看看 ie 死没死。死透才行
    darksword21
        4
    darksword21  
       2021-03-25 17:26:30 +08:00
    知道勾股定理吗?

    对,和这个没关系
    hengstchon
        5
    hengstchon  
       2021-03-25 17:31:25 +08:00
    程序员经典梗:又不是不能用……
    而且,当你在考虑用 let 还是 const 的时候,人家 var 已经无脑写上去了,var 还能少敲字,何乐不为。
    iTakeo
        6
    iTakeo  
       2021-03-25 17:34:26 +08:00   ❤️ 1
    因为 var 都在键盘左边一只手就能敲出来。哈哈
    DOLLOR
        7
    DOLLOR  
       2021-03-25 17:38:39 +08:00 via Android
    你看到的 js 文件可能是编译后输出的目标代码,编译目标是 es5 甚至 es3,你应该去查查真正的源代码。
    morize
        8
    morize  
       2021-03-25 18:00:55 +08:00
    在不同作用域下用不同的变量申明方式,我觉得对代码可读性有一定提升,前提是不乱用。
    ztmqg
        9
    ztmqg  
       2021-03-25 18:40:23 +08:00 via Android
    面试还特别喜欢考,下面的代码输出什么
    AoEiuV020
        10
    AoEiuV020  
       2021-03-25 19:11:09 +08:00
    最近公司官网更新,老大还问了,IE 跑起来怎样,
    autoxbc
        11
    autoxbc  
       2021-03-25 21:37:40 +08:00
    库的作者可能是为了最大化兼容性,普通开发者可能是懒得学习,两种情况不应混淆
    Shook
        12
    Shook  
       2021-03-25 22:09:01 +08:00
    写 es6 -> 打包为兼容性更强的生产版本 -> var 兼容性更强 -> 打包为 var
    rodrick
        13
    rodrick  
       2021-03-26 13:54:21 +08:00
    现在用框架的话基本没什么 var 了吧,当然打包后肯定是 var
    Leviathann
        14
    Leviathann  
    OP
       2021-04-02 01:55:09 +08:00 via iPhone
    忏悔 今天我也为💩山添砖加瓦
    一个用来记录用户在页面上的操作的 js 代码,打包后给别的组用
    18 年写的,全程 var+es5 语法,而且全局变量也是普通的小驼峰命名,并且在函数里直接操作
    最离谱的是最后还要用配置了 babel 的 webpack 打包。。也不让重构,问就是兼容

    不过我看💩山某处还是用了变量直接构造对象的语法( var xxx = {a, b}),也不知道是不是装不下去了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6032 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 02:06 · PVG 10:06 · LAX 18:06 · JFK 21:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.