zoukankan      html  css  js  c++  java
  • 为什么js中要用void 0 代替undefined

    这个是Backbone.js中的一句源码

    if (callback !== void 0 && 'context' in opts && opts.context === void 0) opts.context = callback;
    此处void 0和undefined意义一样吗,我f12 chrome后,

    undefined === void 0;//true
    除了防止被重写外,还可以减少字节。void 0代替undefined省3个字节。
    类似的还有很多常用的写法,看到别人这样写的时候就当是老司机的套路就行了。

    //取整
    parseInt(a,10); //Before
    Math.floor(a); //Before
    a>>0; //Before
    ~~a; //After
    a|0; //After

    //四舍五入
    Math.round(a); //Before
    a+.5|0; //After

    //内置值
    undefined; //Before
    void 0; //After, 快
    0[0]; //After, 略慢

    //内置值
    Infinity;
    1/0;

    //布尔值短写法
    true; //Before
    !0; //After

    //布尔值短写法
    false; //Before
    !1; //After
    ---省略更多

    原文:https://blog.csdn.net/qq_33834489/article/details/81540018

  • 相关阅读:
    day 38
    day 37
    day 36
    day 35
    day 34
    day 33
    day 32
    day 31
    day 30
    day 29
  • 原文地址:https://www.cnblogs.com/ckAng/p/10496247.html
Copyright © 2011-2022 走看看