目录
1.自定义对象
1.1创建对象
1.字面量方式创建:
var obj={
name: 'cat',
age: 2,
fn: function(){
console.log('miao!');
}
}
2.new方式创建:
var obj=new Object();
obj.name='cat';
obj.fn=function(){
console.log('miao!');
}
3.利用构造函数创建对象:
function Animal(name,age){
this.name=name;
this.age=age;
this.fn=function(){
}
}
var cat=new Animal('cat',3);
1.2对象的调用
调用对象里的属性:对象.属性名 或者 对象['属性名']
调用对象里的方法:对象.方法名()
1.3遍历对象
for(var key in obj){ };
key得到的是属性名,obj[key]得到的是属性值
2.内置对象
查文档:MDN Web Docs
2.1 Math
Math.PI 圆周率
Math.max() Math.min()
Math.abs() 绝对值,会把字符串数字转换成数字
Math.floor() 向下(小)取整
Math.ceil() 向上(大)取整
Math.round() 四舍五入,注意.5往大了取
Math.random() [0,1)的随机小数,Math.floor(Math.random()*(max-min+1)+min)可以得到[min,max]之间的随机整数
2.2 日期对象
是构造函数对象,需使用new调用创建
var date1=new Date(); //当前时间
var date2=new Date(2022,2,4); //2022年3月4日。月份+1
var date3=new Date('2022-2-4 16:54:2'); //就是字符串的时间
方法:
getFullYear() 年 getMonth() 月0-11 getDate() 日
getDay() 星期,1-6 ,周日是0
getHours() 时 getMinuters() 钟 getSeconds() 秒
时间戳:用于倒计时案例
valueOf() / getTime() /var date1= +new Date() 距离1970.1.1的毫秒数
Date.now() H5新增,获取现在到1970.1.1的毫秒数
2.3 数组对象
1.检测是否为数组的方法:参数 instanceof Array 或者 Array.isArray(参数) (后者是H5新增)
2.添加删除元素:
push() 在数组后面添加一个或多个元素,返回值是新数组长度
unshift() 数组前面添加元素,返回新数组长度
pop() 删除数组最后一个元素,返回删除的元素
shift() 删除数组第一个元素,返回删除元素
3.翻转数组:reverse()
4.排序(冒泡排序):
sort(function(a,b){
return a-b; //升序排列,b-a降序
})
5.数组索引:
indexOf(数组元素) 返回第一个满足条件的索引号,找不到返回-1
lastIndexOf(数组元素) 返回最后一个满足条件的索引号,找不到返回-1
去重案例思路:遍历旧数组,拿着旧数组元素查询新数组(用indexOf),该元素在新数组没有出现(返回值===-1)则添加,否则不添加
6.数组转化成字符串:
toString() join(分隔符)
2.4 字符串对象
1.返回字符位置:
str.indexOf('要查找的字符',[起始的位置])
str.lastIndexOf() 从后开始查找
2.根据位置返回字符:
charAt(index) 指定位置字符
charCodeAt(index) 指定位置字符ASCⅡ码
str[index] H5支持
3.常用方法:
concat(str1,str2,str3……) 拼接字符串,等效与+,+更常用
substr(start,length) 截取,从start开始,截取length传递长度
slice(start,end) 截取[start,end)
substring(start,end) 和slice基本一样,不接受负值
replace('被替换的字符','替换为的字符') 替换字符,只会替换第一个
split('分隔符') 字符转化为数组