zoukankan      html  css  js  c++  java
  • 你不知道的 JavaScript 系列中( 21 ) -尽量不要使用 Object()/Function()/RegExp()

    除非万不得已,否则尽量不要使用 Object()/Function()/RegExp()
    var c = new Object();
    c.foo = 'bar';
    c; // {foo: 'bar'}
    
    var d = {foo: 'bar'}
    d; // {foo: 'bar'}

    在实际情况没有必要使用 new Object() 来创建对象,因为这样无法像常量形式那样设定多个属性,而必须逐一设定

    var e = new Function('a', 'return a * 2');
    var f = function(a){return a * 2}
    function g(a){ return a * 2}

    构造函数 Function 只在少数情况下很有用,比如动态定义函数参数和函数体的时候,基本上不会通过这种方式来定义函数

    var h = new RegExp('^a*b+', 'g');
    var i = /^a*b+/g;

    强烈建议使用常量形式来定义正则,这样不仅语法简单,执行效率也更高,因为JS引擎在代码执行前会对它们进行预编译和缓存。RegExp() 也是动态定义正则的时候才派上用场

  • 相关阅读:
    华硕B360主板装机找不到固态硬盘启动
    Maxwell平滑升级流程
    快速导入Excel数据到mysql
    Docker
    Rest之路
    Rest之路
    Docker -- resolve "join node timeout" error
    (转) Docker
    Docker
    Docker
  • 原文地址:https://www.cnblogs.com/wzndkj/p/13844381.html
Copyright © 2011-2022 走看看