回归JavaScript基础(六)
主题:引用类型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基础(六)的更多相关文章
- 回归JavaScript基础(一)
主题:JavaScript简介. 一.JavaScript的起源 JavaScript诞生于1995年.当时,它的主要作用是处理一些输入验证操作.之前的话,都是把表单数据发送到服务器端,然后再去判断有 ...
- javascript基础(六)对象
原文http://pij.robinqu.me/ JavaScript Objects 创建对象 对象直接量 var o = { foo : "bar" } 构造函数 var o ...
- 回归JavaScript基础(十)
主题:创建对象 原型模式 JavaScript中的每个对象都有一个prototype属性(原型属性),这个属性是一个指针,指向一个对象,而这个对象可以由一些属性和方法组成.被指向的对象,可以是多个对象 ...
- 回归JavaScript基础(九)
主题:理解对象,创建对象. 小明是一名程序猿,也是一条单身狗!他常常自嘲:每天都会有很多对象,但却没有女朋友! 多么痛的领悟.哈哈,目前比较流行的编程语言都是面向对象的语言(Object-Orient ...
- 回归JavaScript基础(八)
主题:引用类型包装类.单体内置对象的介绍. 对于我们开发人员来说,JavaScript有种引用类型一定很陌生!那就是基本包装类型:Boolean.Number和String.这也不是我们的错,主要这些 ...
- 回归JavaScript基础(七)
主题:引用类型Function的介绍. 今天首先说的就是Function类型.下面就是定义函数的两种方法,第一种使用函数声明语法定义,第二种使用函数表达式定义.这两种定义函数的方式几乎没有什么区别. ...
- 回归JavaScript基础(五)
主题:介绍引用类型Object.Array. 在上一章中,作者就在说变量的值的时候,提到过引用类型这个概念.JavaScript中存在基本类型和引用类型,其中引用类型很重要,这里有许多我们需要注意的东 ...
- 回归JavaScript基础(四)
主题:JavaScript变量.作用域和内存问题 JavaScript的变量和别的语言比起来是与众不同的.说道变量,不得不谈他的作用域.同很多语言一样,JavaScript开发者也不用担心开发中内存的 ...
- 回归JavaScript基础(三)
主题:JavaScript基本概念. 任何语言的核心必然会描述这门语言最基本的工作原理.这部分内容对我们来说,读起来很乏味,甚至会产生困意,但这部分内容却是重要的!我有幸拜读<JavaScrip ...
随机推荐
- spring boot整合Swagger2
Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化RESTful风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参数和模型紧密集成到服务器 ...
- Chapter 3 Phenomenon——18
My intuition flickered; the doctor was in on it. 我的直觉告诉我:这个医生也参与了. 我灵光一闪:这医生熟悉内情. "I'm afraid t ...
- Fiddler HTTPS抓包
现在很多带有比较重要信息的接口都使用了安全性更高的HTTPS,而Fiddler默认是抓取HTTP类型的接口,要想查看HTTPS类型接口就需要安装fiddler证书. fiddler安装教程可参考: ...
- Linux-文件和目录属性
文件系统的是用来组织和排列文件存取的,所以它是可见的,在Linux中,我们可以通过ls等工具来查看其结构,在Linux系统中,见到的都是树形结构:比如操作系统安装在一个文件系统中,他表现为由/ 起始的 ...
- libnetwork插件化网络功能
Docker把网络跟存储这两部分的功能实现都以插件化形式剥离出来,允许用户通过指令来选择不同的后端实现.这也是Docker希望构建围绕着容器的强大生态系统的一些积极的尝试.剥离出来的独立容器网络项目叫 ...
- WPF样式动画Trigger.EnterActions和Trigger.ExitActions(ExitActions其实可以不做任何事情)
这是一个鼠标移入后,控件往左移动的动画: <Style TargetType="{x:Type StackPanel}"> <Setter Property=&q ...
- 面试:C/C++常见库函数实现
1. void *mymemcpy(void *dest, const void* src, size_t n): 内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个 ...
- WPF 进程间传递参数
WPF 进程间传递参数 在软件开发中有时需要在一个软件中启动另一个软件,这时用Process.Start(“软件路径”)可以启动另一个软件.如果在这个过程中还需要传递一些参数给新启动 ...
- Verdi文档路径
1.echo $VERDI_HOME 2.cd $VERDI_HOME/doc 3.okular VerdiTut.pdf& Verdi主要在以下方面使用 Verdi使用情形: ...
- spring 下载地址及相关概念解析
http://www.springsource.org/download/community Release Candidate(RC)候选版本,用于指软件或操作系统的发布,一般与Debug版本相对应 ...