string对象函数
length
获取字符串长度,字符串索引从0开始 做大索引=长度-1
slice
提取字符串片段,返回被提取的字符串,第一个参数为开始位置必填,第二个参数为结束位置(不包括),不填默认截取到最后。参数可以为负值,负值代表从后往前数
charAt
参数为一个下标,默认为0,查询字符串对应下标的字符,超出范围返回空字符串,不会修改原来的字符串
indexOf
检索字符串在被检索字符串中所在的开始位置(区分大小写),空字符串返回0,不传参数返回-1,不存在返回-1。
trim
方法主要是用于消除字符串前后的空格,可以用于账户账号或者密码里面进行处理, 不会修改原来的字符串
split
用于分割字符串,返回分割后的片段组成的数组,第一个参数为分割标识符,第二个参数可选,表示分割后形成的数组保留的长度,不填默认保留全部,不影响原字符串
concat
concat拼接字符串,不影响原字符串
substr
提取字符串片段,返回被提取的字符串,第一个参数为开始位置,第二个参数为总共截取的长度(legth),默认截取到原字符串的最后一位,不影响原字符串
substring
提取字符串片段,返回被提取的字符串, 第一个参数为开始位置,第二个参数(length-1)为结束位置(不包括),与slice( )类似。不影响原字符串
replace
用于把字符串中的特定字符串替换成新的字符串,或者把符合正则表达式的字符串替换成新的字符串,返回替换后的字符串,第一个参数为被替换的字符串或表达式,第二个为插入的字符串。不影响原字符串
topperCase
变成大写,不影响原字符串
toLowoerCase
变成小写,不影响原字符串
字符串的遍历:
for forin forof遍历; 不可以使用数组的方法
可以转换成数组使用数组的方法
Array.form [...对象] argaments(获取所有元素)
数组可以通过对象的扩展运算符转成对象,但是对象不可以通过数组扩展运算转成数组
获取对象所有key和value
Object.keys(对象) Object.value(对象)
如果key是数字,会自动排序
Date 对象
日期对象:new Date() Object
时间戳:指定日期对象时间的毫秒数 number
创建日期
new Date() 当前时间 new Date('日期字符串') 获取到指定日期,日期字符串转日期对象
转日期对象
new Date(时间戳) 时间戳转日期对象 new Date(年,月,日,时,分,秒)月份从0数
时间戳
Date.now() 当前日期时间戳 +日期对象 日期对象转时间戳
日期对象.getTime() 日期对象,日期字符串转时间戳
toDateString 把Date对象的时间部分转换为字符串
toTimeString 把Date对象的日期部分转换为字符串
日期对比
日期对象可以用 > >= < <=做比较,但是不可以用== ===
比较是否相等,转时间戳比较
日期转字符串
日期对象.toLocaleTimeString('时区',{hour24:true}) {hout12:true} 12小时制 {hout24:true} 24小时制
totoLocaleDateString 取年月日
日期的方法
get/set
Date() 返回当日的日期和时间
getDate()从Date对象返回一个月中的某一天(1~31)
getMonth()从Date对象返回月份(0~11)
getFullYear()从Date对象以4位数字返回年份
getHours()返回Date对象的小时(0~23)
getMinutes() 返回Date对象的分钟(0~59)
getSeconds() 返回Date对象的秒数(0~59)
getMilliseconds()返回Date对象的毫秒(0~999)
setHours()设置Date对象中的小时(0~23)
setMinutes() 设置Date对象中的分钟(0~59)
setSeconds() 设置Date对象中的秒钟(0~59)
setMilliseconds()设置Date对象中的毫秒(0~999)
setFullYear()设置Date对象中的年份(四位数字)
setDate() 设置Date对象中月的某一天(1~31)
setMonth() 设置Date对象中月份(0~11)
Math的方法
console.log(Math.abs(-11));//11 绝对值
console.log(Math.ceil(7.5));//8 向上取整
console.log(Math.floor(7.5));//7 下取整
console.log(Math.max(5, 6, 76, 7, 6));//76 最大值
console.log(Math.min(5, 6, 76, 7, 6));//5 最小值
console.log(Math.round(5.5));//6 四舍五入
console.log(Math.floor(Math.random() * (10 + 1 - 1) + 1));//10以内 随机数
构造函数(构造器):创建对象
自定义构造器:
函数名为大驼峰
构造函数的this指向new的对象
再构造器中给对象添加属性:this.属性名=传入值
内置构造器
string Array Date Object Function
ES6的class
必须要class创建之后构造对象,function构造函数可以在创建之前构造对象
原型 原型对象 原型空间
对象 prototype原型对象
prototype:每一个构造函数对象都要一个prototype
__proto__:存在于构造函数构造的对象中,每个对象都有__proto__指向构造函数的原型对象
原型空间的作用
公共的缓存取构造函数创建的对象公用的,存放公共数据或者函数
构造函数的两个身份
函数(prototype) 对象(__proto__)
函数都是由function构造的
原型链
每一个构造函数对象都有一个prototype
每一个对象都有__proto__指向构造函数的原型对象
构造函数两个身份:函数(prototype)+对象(__proto__)
判断对象中是否有某个属性
'属性名' in 对象名 ( 包含原型)
对象名.hasOwnProperty('属性名') 不包含原型链中
判断是否由某个构造器构造的
判断一个数据是什么构造器 对象 instanleof 构造器
Object是所有对象的父类(父构造器)
获取某个对象的构造器
对象名.constructor 得打构造函数对象
继承
前提:至少两个构造函数
子类(子构造函数) 父类(父构造函数)
修改子构造函数protope.__proto__=父构造器.prototype
es6继承
前提:两个类 子类和父类
1.创建两个类
2.在子类名后用extends父类继承父类
3.在子类的构造器中第一行用super();构造父类对象,调用父类构造器