百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

JavaScript秘密笔记,第七集(javascript 笔记)

toyiye 2024-08-22 22:53 5 浏览 0 评论

1. ***String

替换

切割

2. ***RegExp

3. Math

4. ***Date


1. ***String

替换: 将找到的敏感词,替换为规定的新内容

如何: 2种:

1. 简单替换: 将所有敏感词,都替换为统一的新内容

str=str.replace(/正则/ig,"新值");

强调: 1. 必须加g, 替换所有

2. 必须用=保存回去,否则无法获得替换结果

2. 高级替换: 根据本次找到的敏感词不同,动态选择不同的新内容替换。

str=str.replace(/正则/ig,function(kw){

kw //自动获得本次找到的关键词内容

return //根据kw的不同选择替换不同的值

})

其实: 比较器函数,也可用匿名函数:

arr.sort(function(a,b){return a-b;})

衍生: 删除关键词: 其实就是将关键词替换为""


切割: 将字符串按指定字符切割为多段子字符串

如何:

1. 简单切割: 按一个固定的字符/字符串切割

var subs=str.split("切割符")

固定套路: 将字符串打散为字符数组: var chars=str.split("");

将来如果希望对字符串,使用数组API时,都要先打散。

2. 复杂切割: 切割符不是固定的,但有一定规律

var subs=str.split(/正则表达式/i);


2. 正则表达式对象RegExp:

什么是: 封装一条正则表达式,并提供用正则表达式执行查找和验证操作的API

何时: 2种:

1. 用正则表达式验证字符串格式

2. 即查找内容,又查找位置时

如何:

创建: 2种:

1. 创建一个固定不变的正则表达式:

var reg=/正则表达式/ig;

字符冲突: 如果正则中出现/,要转为\/

2. 如果需要动态生成正则表达式:

var reg=new RegExp("正则"[,"ig"]);

字符冲突: 如果正则中出现引号,转为\"

正则中正常的\ 都要转为\\

API:

1. 验证: var bool=reg.test(str);

用reg验证str是否符合规则的要求

返回bool类型

问题: 正则默认只要找到部分匹配就返回true

解决: 要求从头到尾必须完整匹配

今后,凡是验证,必须同时前加^后加$

2. 查找: 即找位置,又找内容

var arr=reg.exec(str);

在str中找下一个满足reg要求的关键词的内容和位置

返回值: 本次找到的关键词的内容和位置

数组: 0号房间保存本次找到的关键词内容

index的房间保存本次找到的关键词位置

如果找不到,返回null

强调: 反复调用,会自动向后查找下一个!


3. Math:

什么是: 专门封装数学计算的常量和API的对象

何时: 今后只要进行数学计算时,都可用Math提供的数学API

如何: 不能new,所有API都直接用.调用!

包括:

取整:

上取整: 只要超过,就取下一个整数

Math.ceil(num)

下取整: 舍弃小数部分

Math.floor(num)

vs parseInt(str): 1. parseInt可去掉结尾非数字字符

floor不行!

2. parseInt要求传入字符串

floor要求数字

四舍五入取整: Math.round(num)

vs .toFixed(d): 1. round只能取整

toFixed 可按任意小数位数四舍五入

2. round返回number,可直接用于计算

toFixed 返回string,不能直接用于+计算

自定义round:

乘方和开平方:

乘方: Math.pow(底数,幂); 比如: Math.pow(2,3)=8

开平方: Math.sqrt(num)

最大值和最小值:

Math.max(值1,值2,...)

Math.min(值1,值2,...)

问题: max和min不支持查找数组中的最大值/最小值

解决: Math.max.apply(null,arr)

apply可打散数组类型的参数为单个值,再传递给调用国的函数

随机数:

1. Math.random(): 单独使用返回0~1之间的一个小数

2. 在min~max之间取随机整数:

parseInt(Math.random()*(max-min+1)+min)

3. 如果从0~max之间取随机整数:

parseInt(Math.random()*(max +1))


4. ***Date

什么是: 封装一个时间点, 提供操作日期和时间的API

何时: 今后只要存储或操作日期和时间

如何:

创建: 4种:

1. 创建日期对象,并自动获得客户端当前系统时间:

var now=new Date();

2. 创建日期对象,并自定义时间点:

var date=new Date("yyyy/MM/dd hh:mm:ss");

new Date(yyyy,MM-1,dd,hh,mm,ss);

3. 复制一个日期对象:

为什么: js中日期计算会直接修改原日期对象,计算前的时间无法保留

何时: 只要希望同时保留计算前后的开始和结束时间时,都要先复制日期的副本,再用副本计算新日期。

如何: var date2=new Date(date1);

4. 将毫秒数转化为日期对象:

为什么: 在跨国系统中,都是用毫秒数代表一个时间点

其实,日期对象中,保存的也是毫秒数:

代表1970年1月1日0点至今的毫秒数

毫秒数不受时区的影响

问题: 毫秒数无法直接看懂和使用

解决: 获得毫秒数后,都要用new Date转化为当地时区对应的时间显示。

如何: var date=new Date(ms);


API: 三句话:

1. 单位: FullYear Month Date Day 没有s结尾

Hours Minutes Seconds Milliseconds 都有s结尾

2. 每个单位上都有一对儿get和set函数

其中:get 负责获得该单位的数值

date.getDate() 获得日期

date.getDay() 获得星期

date.getHours() 获得几点

set 负责修改该单位的数值

date.setDate(10) 改为10号

date.setHours(19) 改为19点

特例: Day,没有set,不可修改!

3. 取值范围:

Month: 0~11 比现实中都小1

Date: 1~31

Day: 0~6

Hours: 0~23

Minutes/Seconds: 0~59

日期计算: 2种:

1. 两日期对象可直接相减: 结果是毫秒差

2. 对指定单位的值做加减: 3步:

1. 取值: var n=date.getXXX();

2. 计算: n+/-值

3. 放回去: date.setXXX(n);

福利: set可自动调整进制

其实可简化为一步: date.setXXX(date.getXXX()+/-n)

问题: setXXX直接修改原日期对象

无法保留计算前的原日期

解决: 如果希望同时保留计算前后的新旧时间,都要先复制副本,再用副本计算。

日期输出:

1. date.toString() 转化为当地时间的完整格式

2. date.toLocaleString() 转为当地时间的简化版格式

3. date.toLocaleDateString()转为当地时间的简化版格式,仅保留日期部分

4. date.toLocaleTimeString()转为当地时间的简化版格式,仅保留时间部分

5. date.toGMTString() 转为0时区标准时间

相关推荐

# Python 3 # Python 3字典Dictionary(1)

Python3字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,格式如...

Python第八课:数据类型中的字典及其函数与方法

Python3字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值...

Python中字典详解(python 中字典)

字典是Python中使用键进行索引的重要数据结构。它们是无序的项序列(键值对),这意味着顺序不被保留。键是不可变的。与列表一样,字典的值可以保存异构数据,即整数、浮点、字符串、NaN、布尔值、列表、数...

Python3.9又更新了:dict内置新功能,正式版十月见面

机器之心报道参与:一鸣、JaminPython3.8的热乎劲还没过去,Python就又双叒叕要更新了。近日,3.9版本的第四个alpha版已经开源。从文档中,我们可以看到官方透露的对dic...

Python3 基本数据类型详解(python三种基本数据类型)

文章来源:加米谷大数据Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在Python中,变量就是变量,它没有类型,我们所说的"类型"是变...

一文掌握Python的字典(python字典用法大全)

字典是Python中最强大、最灵活的内置数据结构之一。它们允许存储键值对,从而实现高效的数据检索、操作和组织。本文深入探讨了字典,涵盖了它们的创建、操作和高级用法,以帮助中级Python开发...

超级完整|Python字典详解(python字典的方法或操作)

一、字典概述01字典的格式Python字典是一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。字典的每个键值key=>value对用冒号:分割,每个对之间用逗号,...

Python3.9版本新特性:字典合并操作的详细解读

处于测试阶段的Python3.9版本中有一个新特性:我们在使用Python字典时,将能够编写出更可读、更紧凑的代码啦!Python版本你现在使用哪种版本的Python?3.7分?3.5分?还是2.7...

python 自学,字典3(一些例子)(python字典有哪些基本操作)

例子11;如何批量复制字典里的内容2;如何批量修改字典的内容3;如何批量修改字典里某些指定的内容...

Python3.9中的字典合并和更新,几乎影响了所有Python程序员

全文共2837字,预计学习时长9分钟Python3.9正在积极开发,并计划于今年10月发布。2月26日,开发团队发布了alpha4版本。该版本引入了新的合并(|)和更新(|=)运算符,这个新特性几乎...

Python3大字典:《Python3自学速查手册.pdf》限时下载中

最近有人会想了,2022了,想学Python晚不晚,学习python有前途吗?IT行业行业薪资高,发展前景好,是很多求职群里严重的香饽饽,而要进入这个高薪行业,也不是那么轻而易举的,拿信工专业的大学生...

python学习——字典(python字典基本操作)

字典Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快的查取和插入速度。但它是无序的,包含的元素个数不限,值...

324页清华教授撰写【Python 3 菜鸟查询手册】火了,小白入门字典

如何入门学习python...

Python3.9中的字典合并和更新,了解一下

全文共2837字,预计学习时长9分钟Python3.9正在积极开发,并计划于今年10月发布。2月26日,开发团队发布了alpha4版本。该版本引入了新的合并(|)和更新(|=)运算符,这个新特性几乎...

python3基础之字典(python中字典的基本操作)

字典和列表一样,也是python内置的一种数据结构。字典的结构如下图:列表用中括号[]把元素包起来,而字典是用大括号{}把元素包起来,只不过字典的每一个元素都包含键和值两部分。键和值是一一对应的...

取消回复欢迎 发表评论:

请填写验证码