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

  • 相关阅读:
    .NET重构(七):VS报表的制作
    【Linq】标准查询操作符
    1 TaskQueue 实现Task 队列
    1 疑惑处理
    1 JSONP
    1 Web 知识基础
    20 闭包
    1 基础知识
    Web 常用
    【Winform】2 Button
  • 原文地址:https://www.cnblogs.com/ckAng/p/10496247.html
Copyright © 2011-2022 走看看