JS高级-String- RegExp- Math- Date:
1. String:
切割: 将一个字符串,按指定分隔符,切割为多段子字符串
简单切割: 切割符是固定的
var arr=str.split("切割符")
强调: 切割后的结果中,不包含切割符
复杂切割: 切割符是变化的
var arr=str.split(/正则/)
2. RegExp:
什么是: 封装一条正则表达式,并提供使用正则进行验证和查找的API
何时: 只要在程序中存储一条正则,并使用正则进行验证和查找
如何:
创建: 2种:
1. 如果正则表达式是固定不变的: 用//
var reg=/正则/ig
2. 如果正则表达式是动态变化的:
var reg=new RegExp("正则表达式", "ig")
API:
验证字符串的格式是否符合要求:
var bool=reg.test(str)
用reg检查 str 是否符合格式要求
返回bool:
问题: 默认,只要str中部分内容满足reg要求,就返回true。
解决: 凡是验证,必须前加^,后加$
即查找所有关键词的内容,又查找关键词的位置
var arr=reg.exec(str)
在str中查找下一个reg匹配的关键词的位置和内容
返回: arr的内容和match不加g时返回的arr结构一样
[0: 关键词, index: 位置]
强调: exec要想找所有,也必须加g
3. Math:
什么是: 保存所有数学计算的函数和常量的对象
何时: 只要执行算术计算时,都用Math
如何:
强调: Math不能new!所有的API,都用大写Math直接调用
API:
1. 取整:
上取整: Math.ceil(num)
下取整: Math.floor(num) 不识别单位,无法转换
parseInt(str) 可去掉数字后非数字的单位
四舍五入: Math.round(num)
缺: 只能取整
优: 返回number类型,可直接参与计算
num.toFixed(d)
优: 可灵活指定小数位数
缺: 返回字符串,无法参数+运算
2. 乘方和开平方
乘方: Math.pow(底数, 幂)
开平方: Math.sqrt(num)
3. 最大值和最小值:
Math.max(值1, 值2, ....)
Math.min(值1, 值2, ....)
问题: 不支持查找数组中的最大值和最小值
解决: spead: ...数组
4. 随机数:
Math.random() 生成0~1之间的随机小数
公式: min~max之间取随机
parseInt(Math.randon()*(max-min+1)+min)
5. 计算角度:
反三角函数: Math.atan(对/临)
问题: 只能计算正负90度内的角度变化,无法区分象限
解决: Math.atan2(对, 临);
4. Date:
什么是: 封装一个时间,并提供操作时间的API
何时: 只要在程序中保存时间或操作时间
如何:
创建: 4种:
1. 创建日期对象,自动获得当前系统时间
var now=new Date()
强调: 只能拿到客户端系统时间
2. 创建日期对象,保存一个自定义时间
var birth=new Date("1993/12/26")
3. 将ms转化为日期对象:
为什么: 数据库中存储时间,都是保存时间的毫秒数
人看不懂
何时: 只要希望在内存中保存数据库中的时间时,都将ms转为date对象
如何: var date=new Date(ms);
4. 复制一个日期对象:
为什么: 日期的计算都是直接修改原日期对象,计算后,无法保留原日期
何时: 只要希望同时保留计算前后的开始和结束时间时,都要先将开始时间复制一个副本,再用副本计算结束时间
如何: var date2=new Date(date1)
JS高级-String- RegExp- Math- Date:的更多相关文章
- 总结JS中string、math、array的常用的方法
JS为每种数据类型都内置很多方法,真的不好记忆,而且有些还容易记混,现整理如下,以便以后查看: 一.String ①charAt()方法用于返回指定索引处的字符.返回的字符是长度为 1 的字符串. 语 ...
- js中String 转化为 Date
<script> var s=["2008-8-1","2009/9/2","10/3/2010"]; for(var i=0; ...
- Js高级 部分内容 面向对象
1.单列模式 2.工厂模式 3.构造函数 (1)类 js天生自带的类 Object基类 Function Array String Number Math Date Boolean Regex ...
- JS内置对象-String对象、Date日期对象、Array数组对象、Math对象
一.JavaScript中的所有事物都是对象:字符串.数组.数值.函数... 1.每个对象带有属性和方法 JavaScript允许自定义对象 2.自定义对象 a.定义并创建对象实例 b.使用函数来定义 ...
- JS中String类型转换Date类型 并 计算时间差
JS中String类型转换Date类型 1.比较常用的方法,但繁琐,参考如下:主要使用Date的构造方法:Date(int year , int month , int day)<script& ...
- JS Math&Date的方法 (上)
数学对象&时间对象 本篇文章主要介绍Math 和 Date 的常用方法! 一 :Math & Date Math 数学对象 - 处理数学计算和数学类 ...
- JS高级学习路线——面向对象进阶
构造函数进阶 使用构造函数创建对象 用于创建对象 其除了是一个函数之外,我们又称之为构造对象的函数 - 简称构造函数 function Product(name,description){ //属性 ...
- JS高级- OOP-ES5
1. OOP 面向对象三大特点: 封装,继承,多态 封装: 问题: 构造函数可重用代码和结构定义,但无法节约内存 为什么: 放在构造函数内的方法定义,每new一次,都会反复创建副本——浪费内存 解决: ...
- Ext.js高级组件
第二章:Ext.js高级组件 grid组件 普通方式 表格面板类Ext.grid.Panel xtype(别名):gridpanel.grid title标题.renderTo渲染至.width宽.h ...
- 读JS高级——第五章-引用类型 _记录
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
随机推荐
- Jboss 数据源密码明文加密
转载:https://blog.csdn.net/iberr/article/details/40896479 备注:解密小程序没有测试,知识了解了加密解密过程.对自己的帮助是看懂了连接数据库的配置, ...
- HTTP/1.1新建会话失败 解决方法及分析
右键我的电脑—>属性—>点击高级项卡—>设置性能,在性能选项中选择高级选项卡,在虚拟内存处显示“所有驱动器文件大小的总数:0M”,原来问题出在这里,由于操作系统的分页内存太小,而引起 ...
- Android笔记:intent
一.显式intent如下:(1)在intent构造函数传入两个activity文件名Intent intent = new Intent(FirstActivity.this, SecondActiv ...
- js常用返回网页顶部几种方法
一.使用锚标记 此方法最简单,只需在body下放个隐藏的锚点标记,内容如下: 代码如下 复制代码 <a name="top" id="top">& ...
- Vue.js 生态之vue-router
vue-router是什么~~ vue-router是Vue的路由系统,定位资源的,我们可以不进行整页刷新去切换页面内容. vue-router的安装和基本配置 vue-router.js 可以下载 ...
- Leetcode:LRU Cache,LFU Cache
在Leetcode上遇到了两个有趣的题目,分别是利用LRU和LFU算法实现两个缓存.缓存支持和字典一样的get和put操作,且要求两个操作的时间复杂度均为O(1). 首先说一下如何在O(1)时间复杂度 ...
- oracle数据库导入导出问题
场景描述: 1.做一个从UAT到PRD的Schema迁移,UAT环境有sys用户,PRD环境没有sys用户,由于权限限制,没办法使用expdp/impdp,只好选择exp/imp命令: 2.UAT和P ...
- Jmeter 录制脚本(一)
第一种方法:使用Badboy来录制脚本 1. 启动Badboy, 工具栏上的红色圆形按钮是默认启动的,在地址栏直接输入被测试WEB项目的地址,然后点击右边的箭头. 2.录制完成后,点击工具栏上的黑色按 ...
- 微信小程序开发——打开另一个小程序
微信小程序打开另一个小程序,有两种方法:1.超链接:2.点击按钮. 全局配置: 跳转到其他小程序,需要在当前小程序全局配置中配置需要跳转的小程序列表,代码如下: App.json { ... &quo ...
- 项目总结08:spring quartz 定时器Demo
将定时器用到的quartz.jar放在lip文件下 quartz.xml文件(完整) <?xml version="1.0" encoding="UTF-8&quo ...