目录
js中的对象
-
js中一切皆对象
-
js中对象的分类
-
可以将对象分为“内置对象”、“宿主对象”和“自定义对象”三种。
-
内置对象 :Array(数组对象)、Boolean(布尔对象)、Date(时间对象)、Function(函数对象)、Global(全局对象)、Math(数学对象)、Number(数字对象)、Object(对象)、RegExp(正则对象)、String(字符串对象),Error对象*
-
宿主对象:宿主对象就是执行JS脚本的环境提供的对象,就是浏览器提供的对象,如window和document
-
自定义对象:就是我们自己编写的对象
-
-
Math对象
定义:Math对象是js中 提供给我们 专门用来处理数学相关问题的对象
-
Math对象的方法
-
ceil和floor
-
ceil(天花板)
-
用法:Math.ceil(数字)
-
作用:将指定数字 向上取整 例如:Math.ceil(1.111)===>2
-
-
floor(地板)
-
用法:Math.floor(数字)
-
作用:将指定数字 向下取整 例如:Math.floor(1.99999)===>1
-
-
-
max 和 min
-
max
-
用法:Math.max(数字1,数字2,...)
-
作用:在一组数字中 获取最大值
-
-
min
-
用法:Math.min(数字1,数字2,...)
-
作用:获取一组数中的最小值
-
-
-
pow 和 sqrt
-
pow
-
用法:Math.pow(x,y)
-
作用:计算x的y次方
-
-
sqrt
-
用法:Math.sqrt(数字)
-
作用:给指定数字进行开平方
-
-
-
round
-
用法:Math.round(数字)
-
作用:四舍五入
-
注意:只针对一位小数
-
-
PI
-
用法:Math.PI
-
作用:获取圆周率
-
-
random
-
用法:Math.random()
-
作用:可以获取到一个0-1范围内的随机数 能取到0 取不到1
-
计算0-n的随机整数 !
-
parseInt(Math.random()*(n+1))
-
-
计算n-m之间的随机整数 100-300 !
-
parseInt(Math.random()*(300-100+1))+100
-
parseInt(Math.random()*(m-n+1))+n
-
-
-
abs
-
用法:Math.abs(数字)
-
作用:获取指定数字的绝对值
-
-
Date
-
Date是js提供给我们的时间对象 专门用来帮助我们操作时间
-
先创建Date对象 之后才能使用其方法来解决问题
-
Date对象的创建
-
var 变量名 = new Date()
-
作用:创建当前时间的时间对象
-
-
var 变量名 = new Date(年,月,日,时,分,秒)
-
作用:创建指定的时间对象
-
注意:这种设置方式中 月份的计数 是 0-11
-
-
var 变量名 = new Date("年 月 日 时:分:秒")
-
作用同上
-
注意:这种方式中 月份就是 1-12
-
-
var 变量名 = new Date("年/月/日 时:分:秒")
-
作用同上
-
注意:这种方式中 月份就是 1-12
-
-
var 变量名 = new Date("年-月-日 时:分:秒")
-
作用同上
-
注意:这种方式中 月份就是 1-12
-
-
-
时间对象的方法
-
时间对象的方法 分为两类 —— 获取 和 设置
-
时间对象.getFullYear()/setFullYear(指定年份数字)
-
作用:获取/设置 时间对象的年份
-
-
时间对象.getMonth()/setMonth(指定月份)
-
作用:获取/设置 时间对象的月份
-
注意:无论获取还是设置 月份都是0-11
-
-
时间对象.getDate()/setDate(指定日期)
-
作用:获取/设置 时间对象的日期
-
-
时间对象.getDay()
-
作用:获取 星期几
-
注意:获取结果为一个数字 0-6 表示周日-周六
-
注意:本方法 没有设置方法
-
-
时间对象.getHours()/setHours(小时)
-
作用:获取/设置 时间对象的小时数
-
-
时间对象.getMinutes()/setMinutes(分钟)
-
作用:获取/设置 分钟
-
-
时间对象.getSeconds()/setSeconds(秒)
-
作用: 获取/设置秒
-
-
时间对象.getTime()/setTime(数字)
-
作用:获取/设置 时间戳
-
说明:时间戳表示 当前时间对象的时间 到 1970年1月1日0:0:0(unix纪元元年)
-
-
-
-
moment.js
-
插件官网地址:Moment.js 中文网
-
使用moment.js提供的方法 创建时间对象(对应文档中的解析部分)
-
moment.js给我们提供了 创建时间对象的方法——moment
-
我们必须使用该方法 创建moment时间对象 才能 使用moment提供的方法 来处理时间
-
创建当前时间的时间对象
-
var 变量名 = moment()
-
-
创建目标时间的时间对象
-
var 变量名 = moment("满足ISO-8601或RFC-2822时间格式的时间字符串")
-
一般我们都使用 年-月-日 时:分:秒的格式即可
-
需要注意:除了年份之外 所有时间 都必须是两位的 如果是个位数字 需要在前面补0
-
-
-
-
使用moment提供的方法 来操作时间对象(对应文档中的显示部分)
-
moment给我们提供了一个方法 —— format(格式化)
-
用法:moment时间对象.fomat()
-
作用:按照默认标准 对时间进行格式化
-
-
用法:moment时间对象.format("令牌字符串")
-
作用:按照我们自定义的格式 对时间对象进行格式化
-
-
字符串对象
- 字符串对象 提供的方法
-
indexOf
-
用法1:字符串.indexOf("指定的字符片段")
-
作用:从字符串开头 开始 向末尾 进行查找 查找指定的字符片段 如果能找到 就返回指定片段第一次出现的索引 如果找不到 就返回-1
-
用法2:字符串.indexOf("指定的字符片段",起始索引)
-
作用:从起始索引 开始 向末尾 进行查找 查找指定的字符片段 如果能找到 就返回指定片段第一次出现的索引 如果找不到 就返回-1
-
-
charCodeAt
-
用法:字符串.charCodeAt(指定索引)
-
作用:获取字符串中 指定索引 对应的字符编码
-
-
charAt
-
用法:字符串.charAt(指定索引)
-
作用:获取字符串中 指定索引 对应的字符
-
没有兼容性问题 在任何浏览器都可以使用
-
-
length:
-
用法:字符串.length
-
作用:获取字符串的 长度(也就是字符串中 包含字符的 个数)
-
-
创建字符串对象
-
字面量创建:var 变量名 = "xxxx"
-
关键字创建:var 变量名 = String("xxxx");
-
实例化创建:var 变量名 = new String("xxxx");
-
-
在js中 任何数据类型(除了undefined和null) 都具备 对象这一层身份 一般情况下 字符串的对象身份 得不到体现 但在一些特殊情况下 则可以体现出来
-
-
lastIndexOf
-
用法 和 作用 同上 但是 是从后往前找
-
字符串对象的截取方法
-
字符串对象 提供了 三种 截取方法
-
slice
-
用法:字符串.slice(起始索引,结束索引)
-
作用:从起始索引开始 进行截取 一直截到 结束索引 将中间的内容 获取到
-
注意:能取到开头(起始索引对应的字符) 取不到结尾(结束索引对应的字符)
-
-
用法2:字符串.slice(起始索引);
-
作用:从起始索引开始 一直街取到字符串最后
-
-
-
substring
-
用法和作用 同上
-
-
substr
-
用法:字符串.substr(起始索引,要截取的位数)
-
作用:从起始索引开始 向后截取指定位数
-
-
-
从上述用法和作用中 可知 slice 和 substring完全相同没有区别 !
-
二者的区别
-
在更细节的操作
-
区别1:
-
当我们将参数传反的时候 也就是说 参数顺序写反了 先写了结束索引 厚些 起始索引
-
slice将无法正常工作 得到的结果是空字符串
-
substring则会自动将参数顺序调整正确 并进行截取
-
-
区别2:
-
当我们传入负数参数的时候
-
substring会直接将负数参数归零 并进行截取
-
slice会先给负数参数 加上 字符串长度 如果结果大于等于0 就使用结果做参数 如果结果依然小于0 就直接归零
-
-
-
字符串对象的其他方法
-
replace
-
用法:字符串.replace(旧片段,新片段)
-
作用:使用新片段替换字符串中的旧片段
-
-
toUpperCase 和 toLowerCase
-
用法:字符串.toUpperCase()/toLowerCase()
-
作用:将字符串转换为大写/小写
-
-
trim
-
用法:字符串.trim()
-
作用:去除字符串两端空格
-
-
split
-
用法1:字符串.split("切割标识字符片段")
-
作用:将字符串 按照指定的切割标识 切割为多个片段,最后将所有片段 组成一个数组 返回出来
-
注意:切割标识 在切割的过程中 会被舍弃掉
-
-
用法2:字符串.split("切割标识",数字)
-
作用:同上 但是 切割出来的数组的长度 如果小于等于指定数字 就 按照数组自身长度设置就可以,但是如果长度大于 指定数字 就按照指定数字设置数组的长度 多于的数组项 舍弃掉
-
-