你不知道的 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)

大家都在看

  • Javascript 中的 CJS, AMD, UMD 和 ESM是什么

    ES6之前,JS一直没有自己的 模块体系,这一点对于大型项目的开发很不友好,所以社区出现了 …

    JavaScript 2023年5月29日
    067
  • JavaScript的OOP编程2

    我做了一个observer的设计模式实现 version1 // ————————————————– functi…

    JavaScript 2023年5月29日
    076
  • JavaScript 拖放效果

    拖放效果,也叫拖拽、拖动,学名Drag-and-drop ,是最常见的js特效之一。如果忽略很多细节,实现起来很简单,但往往细节才是难点所在。这个程序的原型是在做图片切割效果的时候…

    JavaScript 2023年5月29日
    068
  • JavaScript统计数据处理- 概述

    JavaScript是一种广泛使用网页编程语言,在浏览器中运用JavaScript技术处理统计数据具有最佳的推广传播效果 JavaScript是主要用于开发Web页面的脚本语言,是…

    JavaScript 2023年5月29日
    064
  • 现代JavaScript开发者的工具箱

    自从HTML5变得流行以来,整个Web平台取得了长足的进步,人们也开始将JavaScript视为一门能够创建复杂应用的语言。许多新的API纷纷浮现,而关于浏览器如何应用这些技术的文…

    JavaScript 2023年5月29日
    076
  • JavaScript的Prototype实现

    JavaScript的Prototype实现 作者:Jeff.Yan(阎宏),BlueSwing.Liu(刘如鸿) 模式: Prototype(原始模型模式或者原型模式) 定义: …

    JavaScript 2023年5月29日
    080
  • MathJax — A JavaScript display engine for mathematics that works in all browsers.

    MathJax https://www.mathjax.org/ web页面上的数学公式显示引擎。 使用纯web技术css等 支持多种输入格式: MathML Tex asciim…

    JavaScript 2023年5月29日
    068
  • javascript 匿名函数

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    JavaScript 2023年5月29日
    049
  • JavaScript 多级联动浮动菜单

    请到这里看09-08-18更新版本 类似的多级浮动菜单网上也很多实例,但大部分都是只针对一种情况或不够灵活,简单说就是做死了的。所以我就想到做一个能够自定义菜单的,有更多功能的多级…

    JavaScript 2023年5月29日
    059
  • JavaScript 设计模式分类

    设计模式的目的是为了提高代码的整洁性、降低代码的资源占用量。 JS中的设计模式可分为以下三种: 说明:专注于处理对象创建的机制,以合适的方式创建对象,以此来降低创建对象过程的复杂性…

    JavaScript 2023年5月29日
    098
  • javascript 字符串转驼峰方法

    // 字符串转驼峰 function strToHump(str){ let strArr = str.split(‘-‘) for(let i =1; i < strArr…

    JavaScript 2023年5月29日
    063
  • 不容错过的超棒Javascript日期处理类库-Moment.js

    日期:2012/02/20 来源:GBin1.com moment.js是一个轻量级并且健壮的js日期处理类库,相信大家在javascript开发过程中,都自己动手写过,或者使用g…

    JavaScript 2023年5月29日
    071
  • JavaScript Promise.resolve()介绍

    Promise.resolve()介绍 说明:静态方法 Promise.resolve返回一个解析过的Promise对象。 语法:Promise.resolve(value) 参数…

    JavaScript 2023年5月29日
    044
  • JavaScript 图片滑动切换效果

    序一(08/07/06) 看到alibaba的一个图片切换效果,感觉不错,想拿来用用。但代码一大堆的,看着昏,还是自己来吧。由于有了做图片滑动展示效果的经验,做这个就容易得多了。 …

    JavaScript 2023年5月29日
    073
  • JavaScript 无缝八向滚动(兼容ie/ff)

    转载请注明出处:http://www.cnblogs.com/cloudgamer/ 如有任何建议或疑问,欢迎留言讨论。 如果觉得文章不错的话,欢迎点一下右下角的推荐。 程序中包含…

    JavaScript 2023年5月29日
    092
  • Javascript / Nodejs call 和 apply

    call: 改变了函数运行的作用域,即改变函数里面this的指向apply:同call,apply第二个参数是数组结构例如: this.name = ‘Ab’var obj = {…

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