zoukankan      html  css  js  c++  java
  • javascript 高级程序设计 七

    引言:好几天没有写随笔了,项目有点紧,恰好今天项目遇到了比较大阻塞,就只好来写一篇随笔来压压惊。

    1、Date类型

      创建一个新的Date:(除了new Date()外)

        var someDate = new Date(Date.parse('May 25,2004'));//传入的格式有:6/13/2004或May 25,2004或YYYY-MM-DDTHH:mm:ss.sssZ

        var someDate = new Date(Date.UTC(2005,0,5,17,55,55));//GMT时间格式中月份是(0~11)的

      要想比较两个Date的大小:(valueOf()方法)

        var date1 = new Date(2007,0,1);

        var date2 = new Date(2007,1,1);

        alert(date1 < date2);//alert中的所有对象都相当于先调用这个对象的valueOf()方法---true

        所以得到valueOf()方法在Date中是返回从传入参数那一天算起到1970年1月1日(午夜)零时的毫秒值。

    2、RegExp类型

      var pattern1 = /at/g;            //g:表示全局匹配,而不是在发现第一个匹配项时立即停止。---匹配字符串中所有的"at"

      var pattern2 = /[bc]at/i;       //i :表示不区分大小写模式,即在匹配字符时忽略与字符串的大小写---匹配第一个bat或者cat,不区分大小写

      var pattern3 = /.at/gi;    //匹配所有改at结尾的3个字符的组合,不区分大小写

      ---------------------------------//RegExp中除了g,i两个flags以外,还有m:表示多行模式,即在到达一行文本末端时还会继续寻找下一行中的匹配项。

      正则表达式字面量始终会共享同一个RegExp实例,而使用构造函数创建的每一个新的RegExp实例都是一个新的实例。例子如下:

      

    var re = null;
    var i;
    for(i = 0;i < 4;i ++){
      re = /cat/g;
      re.test('catismymarst');//它只会匹配一次,因为下一次匹配就会从下标为3开始
    }
    for(i = 0;i < 4;i++){
      re = new RegExp('cat','g');
      re.test('catismymarst');//它每次都会从新创建RegExp对象,所以每次调用test都会从头开始匹配
    }
    

      

      

  • 相关阅读:
    C++中 destory() 和deallocate()以及delete函数的相关性和区别性
    由STL所想到的 C++显示调用析构函数
    MINIX3 内核整体架构回顾及内核定 性分析
    有一个无效 SelectedValue,因为它不在项目列表中
    SqlParameter.Value = NULL 引发的数据库异常
    前端解决跨域问题的8种方案(最新最全)
    SQL语句优化技术分析 整理他人的
    暂时未整理 已打印
    .Net_把文件数据添加到数据库中(面试题)
    ASP.NET中application对象的用法(面试题)
  • 原文地址:https://www.cnblogs.com/wang985850293/p/5259117.html
Copyright © 2011-2022 走看看