V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
vivoapex
V2EX  ›  JavaScript

前端小白一个, 开发式用 strict mode 还是 non strict mode?

  •  
  •   vivoapex · 2018-11-13 19:47:12 +08:00 · 3577 次点击
    这是一个创建于 2202 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在学前端,不太实际开发中怎么用的?各位大佬探探吧
    7 条回复    2018-11-16 12:14:21 +08:00
    Rocka
        1
    Rocka  
       2018-11-13 20:11:18 +08:00
    https://mdn.io/strict_mode

    先学会查文档吧。
    VDimos
        2
    VDimos  
       2018-11-13 20:45:18 +08:00 via Android
    用框架之类的,webpack 会自己给你处理清楚的,没必要纠结,性能影响完全在可接受的范围里
    zhzer
        3
    zhzer  
       2018-11-13 20:48:27 +08:00 via Android
    我觉得,不用
    打包的时候要拼接代码没必要写
    如果不打包,那点代码量也没什么优化的
    mdluo
        4
    mdluo  
       2018-11-13 20:49:42 +08:00
    ES5 不显式声明默认是 non-strict code ( https://es5.github.io/#x10.1.1 ),ES6 很多情况下不需要声明都默认是 strict code ( http://www.ecma-international.org/ecma-262/6.0/#sec-strict-mode-code )。但是前端一般为了兼容性都会优先考虑 ES5 的环境,像 @babel/preset-env 就会给编译好的代码加上 "use strict"。所以如果用了 babel,就不需要在源代码里写 "use strict" 了。当然一般是用 eslint 加上一些规则来避免常见的语法漏洞,而不是依赖 strict mode 这种本身就不怎么靠谱的东西。
    Sparetire
        5
    Sparetire  
       2018-11-13 22:20:16 +08:00 via Android
    es6 只能严格,es5 建议严格,有利于编译器优化
    e8c47a0d
        6
    e8c47a0d  
       2018-11-16 10:06:08 +08:00
    始终在代码第一行使用 'use strict',这样碰壁次数会比不用来的少。
    vivoapex
        7
    vivoapex  
    OP
       2018-11-16 12:14:21 +08:00
    @mdluo 谢谢了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2832 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 08:39 · PVG 16:39 · LAX 00:39 · JFK 03:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.