主题:引用类型Date、RegExp的介绍。

上节主要主要介绍了Object、Array引用类型。这节将继续为大家介绍引用类型,并对书中的一些知识点进行总结与归纳,也借此巩固自己对JavaScript基础知识的掌握。(题外话:果然,语文不好是硬伤啊,从小就不喜欢写文章(⊙o⊙)… 望读者理解,我都是随性发挥的 ヘ(´ー`ヘ) )

①Date类型是在早期Java中的java.util.Date类基础上构建的。

 var date = new Date(); //创建一个日期对象。当语句执行时,会获取执行当时的时间

②Date类型使用自UTC(国际协调时间)1970年1月1日零时开始经过的毫秒数来保存日期。

 var date1 = Date.parse("Jul 4, 2017"); //
console.log(new Date(date1)); //Tue Jul 04 2017 00:00:00 GMT+0800 (中国标准时间)
var date2 = Date.UTC(2017, 6, 4); //1499126400000 注意:月份是从0到11,巨坑!
console.log(new Date(date2)); //Tue Jul 04 2017 08:00:00 GMT+0800 (中国标准时间)
什么鬼,这两个结果并不是我想要的结果!怎么会多了8个小时。我猜测这应该和时区有关!

③日期也可以进行比较,666

 var date1 = new Date(2017, 0, 1);
var date2 = new Date(2017, 1, 1);
console.log(date1 < date2); //true

④Date对象的方法,之间w3c上查阅即可

⑤RegExp正则表达式是用来匹配字符串的工具。我们可以用它来匹配字符串,看字符串是否符合我们的规则;我们可以用它来切分字符串。尽管现在很多js插件为我们提供了便捷的验证字符串方法,但作为一个前端开发者还是有必要了解正则表达式。要知道JavaScript一开始就是为了在前端判断用户输入合法而产生的!

⑥创建正则表达式,模型:var expression = / pattern / flags;或者new RegExp创建

 var regExp1 = /abcd/;
var regExp2 = new RegExp('abcd');
console.log(regExp1 === regExp2); //false
console.log(regExp1.source === regExp2.source); //true
书中说,创建正则表达式会调用RegExp构造函数,每次都创建新的RegExp实例。这说明每个正则表达式都是一个新的对象,导致了上面两个看似相等不等吧

⑦正则表达式有三种模式,flags来表示。

 var regExp0 = /abc/;    //不写模式的话就是普通匹配,匹配到第一个符合后立即停止
var regExp1 = /abc/g; //g:全局模式,应用所有字符串,匹配到第一个符合后继续匹配
var regExp2 = /abc/i; //i:不区分大小写模式,匹配时忽略字符串大小写
var regExp3 = /abc/m; //m:多行模式,一行文本末尾时会继续查找下一行进行匹配(基本不用!)

⑧正则表达式中的特殊字符需要转义,如: ( [ { \ ^ $ | ) ? * + . ] }

 var regExp1 = /[ab]c/i;    //匹配第一个“ac”或“bc”,不区分大小写
var regExp2 = /\[ab\]c/i; //匹配第一个“[ab]c”,不区分大小写

⑨正则表达式中常见的匹配符。用\d匹配一个数字;用\w匹配一个字母或数字;用.表示任意字符,如“ab.”可以匹配“abc”、“ab1”、“ab!”等等;用*表示任意个字符(可以是0个);用+表示至少一个字符;用?表示0个或1个字符;用{n}表示n个字符;用{n,m}表示n-m个字符;用^表示行的开头,^\d表示必须以数字开头;用$表示结束,\d$表示必须以数字结尾。下面,举个栗子!

 var regExp = /^([0-9a-zA-Z\_\.]+)@([0-9a-zA-Z\.]+)$/;
var email1 = "xu_123.home@qq.com";
var email2 = "xu123@qq.org";
regExp.test(email1); // true
regExp.test(email2); // true

⑩正则表达式配合split切割字符串

 var str = "x,,u,c,h,,a,o,i";
str.split(/[\,]+/); //["x","u","c","h","a","o","i"]

正则表达式其实还有很多知识点,这里就不一一介绍了。有兴趣可以再查阅资料深入去学习。下节将继续记录引用类型笔记 \(^o^)/~

回归JavaScript基础(六)的更多相关文章

  1. 回归JavaScript基础(一)

    主题:JavaScript简介. 一.JavaScript的起源 JavaScript诞生于1995年.当时,它的主要作用是处理一些输入验证操作.之前的话,都是把表单数据发送到服务器端,然后再去判断有 ...

  2. javascript基础(六)对象

    原文http://pij.robinqu.me/ JavaScript Objects 创建对象 对象直接量 var o = { foo : "bar" } 构造函数 var o ...

  3. 回归JavaScript基础(十)

    主题:创建对象 原型模式 JavaScript中的每个对象都有一个prototype属性(原型属性),这个属性是一个指针,指向一个对象,而这个对象可以由一些属性和方法组成.被指向的对象,可以是多个对象 ...

  4. 回归JavaScript基础(九)

    主题:理解对象,创建对象. 小明是一名程序猿,也是一条单身狗!他常常自嘲:每天都会有很多对象,但却没有女朋友! 多么痛的领悟.哈哈,目前比较流行的编程语言都是面向对象的语言(Object-Orient ...

  5. 回归JavaScript基础(八)

    主题:引用类型包装类.单体内置对象的介绍. 对于我们开发人员来说,JavaScript有种引用类型一定很陌生!那就是基本包装类型:Boolean.Number和String.这也不是我们的错,主要这些 ...

  6. 回归JavaScript基础(七)

    主题:引用类型Function的介绍. 今天首先说的就是Function类型.下面就是定义函数的两种方法,第一种使用函数声明语法定义,第二种使用函数表达式定义.这两种定义函数的方式几乎没有什么区别. ...

  7. 回归JavaScript基础(五)

    主题:介绍引用类型Object.Array. 在上一章中,作者就在说变量的值的时候,提到过引用类型这个概念.JavaScript中存在基本类型和引用类型,其中引用类型很重要,这里有许多我们需要注意的东 ...

  8. 回归JavaScript基础(四)

    主题:JavaScript变量.作用域和内存问题 JavaScript的变量和别的语言比起来是与众不同的.说道变量,不得不谈他的作用域.同很多语言一样,JavaScript开发者也不用担心开发中内存的 ...

  9. 回归JavaScript基础(三)

    主题:JavaScript基本概念. 任何语言的核心必然会描述这门语言最基本的工作原理.这部分内容对我们来说,读起来很乏味,甚至会产生困意,但这部分内容却是重要的!我有幸拜读<JavaScrip ...

随机推荐

  1. django第一课 简单的网页视图

    注意本人django版本2.0      python3.6 第一步:创建自己的django项目 django-admin.py startproject ** 第二步:进入**创建app pytho ...

  2. VMware workstation 11 的下载

    不多说,直接上干货! VMWare Workstation 11的下载详细: 谷歌FQ,进入. 具体怎么达到可以FQ,见 FQ软件lantern-installer-beta.exe(推荐) 成功! ...

  3. tomcat 日志详解

    1 tomcat  日志详解 1.1  tomcat 日志配置文件 tomcat 对应日志的配置文件:tomcat目录下的/conf/logging.properties. tomcat 的日志等级有 ...

  4. 16.Generator 函数的异步应用

    Generator 函数的异步应用 Generator 函数的异步应用 异步编程对 JavaScript 语言太重要.Javascript 语言的执行环境是"单线程"的,如果没有异 ...

  5. Xamarin学习

    慧都视频:http://training.evget.com/video/5384 极客学院视频:http://www.jikexueyuan.com/course/364.html

  6. 傻瓜式解读koa中间件处理模块koa-compose

    最近需要单独使用到koa-compose这个模块,虽然使用koa的时候大致知道中间件的执行流程,但是没仔细研究过源码用起来还是不放心(主要是这个模块代码少,多的话也没兴趣去研究了). koa-comp ...

  7. 新增的input

    原有的input类型: input标签原有的type类型: text(普通文本框,默认字) button(普通按钮) password(密码框)   submit(提交按钮) radio(单选框) r ...

  8. MyEclipse中快速跳转到指定行号位置

    有时候我们希望能从当前编辑位置跳到指定行号的位置,可以使用Ctrl + l 快捷键. 其中 l 代表line.

  9. Storm框架:Storm整合springboot

    我们知道Storm本身是一个独立运行的分布式流式数据处理框架,Springboot也是一个独立运行的web框架.那么如何在Strom框架中集成Springboot使得我们能够在Storm开发中运用Sp ...

  10. java 获取控制台输入

    读取控制台输入 从控制台读取一行数据,返回值字符串 public class IO { public static void main(String args[]) throws IOExceptio ...