• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >编程问答 > JavaScript中定义正则表达式为什么要用new来包装对象?

JavaScript中定义正则表达式为什么要用new来包装对象?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-07

佚名通过本文主要向大家介绍了javascript正则表达式,javascript 正则,javascript正则匹配,javascript 正则 x0b,javascript 正则替换等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:JavaScript中定义正则表达式为什么要用new来包装对象?
描述:

JavaScript中定义正则表达式为什么要用new来包装对象?
网上大多数教程里JS中定义正则表达式都会用到:var re=new RegExp(‘ABC’);
但是RegExp(‘ABC’)本身就是一个对象‘object’,为什么不直接用var re=RegExp(‘ABC’);?为什么还要用new来包装对象呢?有什么好处吗?


解决方案1:

new 不是用来“包装对象”,而是通过构造函数来创建对象时的关键字,“包装对象” 在 JavaScript 中有别的含义。var re=RegExp(‘ABC’); 等同于 var re = /ABC/;

解决方案2:

RegExp是个构造函数RegExp,搞成构造器可以让你方便的持续操作new出来的对象,而且不会被另一个正则表达式影响。

解决方案3:

这就跟new Date() new Array()等方法一个道理,建议题主可以再温习一下JS对象

解决方案4:

var fun=function(){

return {};

}

new fun();
fun();
这两个区别

解决方案5:

因为js的正则表达式是对象,需要用new操作符来进行构造,就像数组一样啊,RegExp可以理解为一个构造函数,最好的方式是使用/abd/来创建正则

解决方案6:

var re = /hello\d/
var a = 'hello'
var re=new RegExp(a+'\d')

字面量 和 构造函数 的 ‘区别’

解决方案7:

/a/i                     // 字面量形式正则表达式 //
new RegExp('a', 'i')     // 构造函数形式正则表达式 //

构造函数创建正则表达式在运行时可以动态的创建字符串构建, 利用这个特点在构建大量重用的复杂表达式十分有效。 var blabla = new RegExp(regStr1 + regStr2 + regStr3, flags)

使用构造函数形式时需要注意字符串中的转义符\的问题, 即new RegExp('\\w').toString() === /\w/.toString() >= true。

总结:一般情况下创建正则对象使用正则表达式使用字面量形式, 在需要灵活处理使用构造函数形式。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • javascript正则表达式JavaScript正则表达式如何匹配空行
  • Javascript正则表达式非获取匹配的问题
  • javascriptJavaScript的密码规则的正则表达式
  • javascript正则表达式JavaScript正则表达式问题?
  • javascript正则表达式JavaScript正则表达式
  • javascript正则前瞻匹配如何理解?
  • javascript正则前瞻如何完整匹配这个8位数字
  • javascript反向查找的正则表达式错误
  • 求一个正则表达式(javascript)
  • 这行javascript正则表达式有什么问题?

相关文章

  • 2017-06-07 客服电话不方便接听,工单无人回复,谁能帮下我关于缩略图
  • 2017-06-07 pythonfors60(python)forin如何将列表中的元组整个迭代出来?
  • 2017-06-07 laravel中一对多的问题
  • 2017-06-07 c代码生成上传凭证
  • 2017-06-07 JBOSS项目路径配置问题
  • 2017-06-07 并发测试EJB的问题,请高手帮忙,万分感谢
  • 2017-06-07 java代码上传图片到七牛服务器失败
  • 2017-06-07 python小菜遇到问题TypeError:expectedstringorbuffer,求解答
  • 2017-06-07 有没有更新指定图片缓存的接口?
  • 2017-06-07 github过滤了子目录中的svn和git,有没有办法?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 上传到七牛的资源过段时间之后访问不了,登录七牛查看空间内容之后就能访问了
    • golangjsonmarshal的疑问
    • 温度转换(新手求助攻)
    • 谁有mod_pythonwindows64位的,能不能提供一下呀?
    • python获取新浪微博回调后的code值
    • 七牛云使用qshell的qupload命令
    • 求Python调用webservice的例子
    • 项目管理软件project一个project中包含多种编码方式的文件?
    • javascript面试题一道有趣的面试题
    • 在大量目录数据的列表的页面用多种方式进行记录用户点击过哪些列表

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有