你不知道的 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() 也是动态定义正则的时候才派上用场

Original: https://www.cnblogs.com/wzndkj/p/13844381.html
Author: wzndkj
Title: 你不知道的 JavaScript 系列中( 21 ) -尽量不要使用 Object()/Function()/RegExp()

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/536435/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球