除非万不得已,否则尽量不要使用 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/
转载文章受原作者版权保护。转载请注明原作者出处!