JS高级程序设计精简版(第五章:引用类型)附思维导图

        时隔两年后二刷JavaScript高级程序语言,纯手打读书笔记+思维导图,让自己有一个比较全面的知识体系,后面有遇到例子的时候会慢慢补充更多的用法。有不足之处欢迎大家评论区指出,共勉!!

第五章 引用类型

一、日期Date

1、时区概念:

UTC:世界协调时,利用原子钟计算时间与日期,世界统一时间,是没有时区概念的。

GMT:格林尼治标准时间,根据地球自转公转而定的时间,可以视为UTC一样的时间(忽略不计)。

时区:中国是东八区,(GMT + 8 = 中国本地时间)

2、创建日期

1、创建指定日期

Date构造函数创建一个日期,函数的参数是当前时区的毫秒。

Date接受另外两种形式的参数,会将其用以下两种方法隐式调用。

第一种:Date.parse()将字符串转为毫秒

parse接受两种形式的时间格式:

①RFC2822:(例)Mon Feb 19 2018 06:55:23 GMT+0100

短日期:2018/02/19

长日期:Feb 19 2018 日月对换,忽略逗号,大小写

完整日期:Mon Feb 19 2018 06:55:23 GMT+0100

②ISO: YYYY-MM-DDTHH:mm:ss.sssZ

若省略时区,则RFC默认本地时区,而ISO是国际标准(GMT时间)。

第二种:Date.UTC()

Date.UTC(year, month, day, hours, minutes, seconds, milliseconds)

注意:①从 0 到 11 计算月份 ②year为两位或一位数会表示为19XX③参数都是数字,且是UTC时间

3、创建当前日期:

new Date() 返回的是本地时间

Date.now() 返回的是UTC毫秒 

4、获取和设置日期

getTime()1970至今的毫秒

getHours()   getMinutes()    getSeconds()    getMiliseconds()

getFullYear()    getMonth()0-11    getDay()0-6    getDate()1-31

获取UTC日期:以上方法名+UTC即可 例如  getUTCDate()

设置日期:以上get改为set皆可

5、日期格式化

1)继承的方法

继承了Object的方法,同时也包装了一下

toLocaleString()与浏览器运行的本地环境一致的日期和时间2/1/2019 12:00:00 AM

toString()带时区信息的日期和时Thu Feb 1 2019 00:00:00 GMT-0800 (Pacific Standard Time)

valueOf()返回的是日期的毫秒表示

2)日期格式化方法

toDateString()显示日期中的周几、月、日、年(格式特定于实现);

toTimeString()显示日期中的时、分、秒和时区(格式特定于实现);

toLocaleDateString()显示日期中的周几、月、日、年(格式特定于实现和地区);

toLocaleTimeString()显示日期中的时、分、秒(格式特定于实现和地区);

toUTCString()显示完整的 UTC 日期(格式特定于实现)。

二、正则RegExp

用途:数据验证、替换文本、提取字符串

let expression = /pattern/flags;

let pattern2 = new RegExp("[bc]at", "i"); 字符串中 特殊字符记得转义

1、正则定义

标记:g  i  m

模式:要匹配元字符本身,就得在在模式中转义,如\[

匹配0或1个(最多一个)

+ 匹配一个或者多个至少一个

*匹配0,1或多个(有没有都无所谓)

{n,m} 限定匹配的次数 {2}匹配两次  {3,5}匹配三到五次

[abc]  abc任意一个都匹配

[^abc] 除了abc其他都匹配

  1. Z] A-Z区间的都匹配

| 或操作符 可以指定多种模式,然后满足任意条件即可匹配  a|b  

. 除了换行符的任何单个字符

\s 匹配所有空白符

\S 匹配所有非空白符号

\w 匹配数字 字母 下划线,等价于[0-9A-Za-z_-]

\d 匹配一个数字

定位符

为匹配输入字符串的结束位置

为匹配输入字符串的开始位置

\b 匹配一个单词边界(单词和空格之间的位置

\B非单词边界

()标记子表达式的开始或结束 要使用\(\)

2、regexp实例方法

1)exec()方法:

        参数是string。

        返回是一个数组,存储了匹配的字符串,用于提取字符串。第一项是全匹配,第二项是子模式的匹配,第三项则是子子模式的匹配。

        index全模式匹配的字符串索引。

        Input :参数字符串

若开启全局匹配模式g,则每次对同一个字符串调用exec,都会往前匹配一个项,lastIndex是上次匹配的最后一个字符的索引。若未开启全局模式,则lastIndex始终是0

若开启粘附标记 y,则每次调用exec都会以lastIndex为字符串的开头,也就是lastIndex必须符合匹配,相当于匹配cat,则catcatcat才符合匹配这样。

2)test()方法:

参数是string

返回是Boolean 是否匹配,验证数据是否有效

3、继承的方法

toString() toLocalString() 返回的是正则表达式的字面量

valueOf()则返回正则表达式本身

 

4、支持正则表达式的String方法

①searsh(reg):

用于检索与正则表达式相匹配的子字符串,会忽略全局标志并总是从头查找,返回第一个匹配的index。

②match(reg):

找到一个或多个正则表达式的匹配字符

若没有全局模式:返回一个存放匹配结果的数组,数组类似于exec的返回值,即[全匹配,子表达式1,子表达式2]。

若设置了全局模式:返回一个存放所有匹配项的数组(所有全匹配,无子表达式匹配项),没有index也没有input属性。

③replace(reg,replacement)

返回一个替换完的新的字符串,

replacement参数:

第一种参数:字符串,每个匹配都将由这个字符串替换。

$1、$2、...、$99:与 regexp 中的第 1 到第 99 个子表达式相匹配的文本

$& 匹配整个模式的字符串

$`位于匹配字符串 左侧的文字

$位于匹配字符串 右侧的文字

第二种参数:函数function(msg,index,string)  //msg是匹配到的字符串,若全局则会对每个匹配到的字符串执行此函数。

④split(reg,arrLen):

把一个字符串以特定字符为间隔分割为一个数组

第一个参数可以是reg或者一个字符串,第二个参数可选的指定返回数组的最大长度。

若reg包含了子表达式,则返回的数组只包含子表达式匹配的字符,而没有整个正则匹配的字符串。

三、原始值包装类

        当在原始值上调用方法或属性时,后台会创建一个对象,在此条语句执行结束后则销毁。

可以通过Number() String() Boolean(), 或者Object()可通过值类型创建对应原始值包装类

Typeof对原始值包装类返回对应的值类型,对引用类型返回object,instanceof 同理

1、Golbal

全局对象,但代码不会显示的访问它,window作为Global对象的代理。

2)URL编码方式

①encodeURI() 将URL非字符的全部进行编码

②encodeURIComponent()  只编码后面部分的URL,保留前面的//等字符

③decodeURI() 解码

④decodeURIComponent()

2)Eval()函数 参数时要执行的字符串形式的JS代码

通过eval()定义的任何变量和函数都不会被提升,在严格模式下,eval内的变量和函数不能被外部访问。

2、Math

Math.round()  和 Math.fround()   后者返回保留一个小数点的单精度浮点数。

第五版《C语言程序设计》第5章是关于循环结构的学习内容,可以在CSDN上找到思维导图来帮助学习。 思维导图是一种图形化的方法,用于展示知识的关联和结构。通过将相关概念用图形化方式展示,思维导图可以帮助我们更好地理解和记忆知识点。 在CSDN上搜索第五版《C语言程序设计》第5章思维导图,可以找到一些概括了该章节重要知识点的图表。这些思维导图通常使用文字、图形和箭头等元素,以清晰而简洁的方式呈现循环的概念、语法和应用。 通过观看这些思维导图,我们可以获取基本的循环语句的语法知识,包括for循环、while循环和do-while循环。同时,这些图表还会涵盖循环的控制和嵌套循环的相关内容。 在学习循环结构时,思维导图可以作为一个辅助工具,帮助我们理清思路、记忆知识点以及加深对循环的理解。可以通过结合思维导图和课本的内容来进行学习,将图表中的相关概念与具体的代码实例进行对照,加深对循环的掌握。 在C语言编程学习的过程中,使用思维导图可以提高学习效率,帮助我们更快地掌握和运用循环结构的知识。可以将思维导图作为学习的参考资料,加深对C语言中循环结构的理解和应用。 总之,通过在CSDN上找到第五版《C语言程序设计》第5章思维导图,我们可以利用这个工具更好地学习和掌握循环结构的知识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值