1.内置对象
js对象分为自定义对象,内置对象(js自带),浏览器对象
1.1 Math对象(数学)
math.round() 四舍五入
math.random() 随机数
math.max()/math.min() 最大小
math.abs()/math.pi 绝对值/π
math.ceil()/math.floor() 向上取整/向下取整
math.pow()/math.sqrt() 指数次幂/平方根
round/random/ceil/floor/abs/max/min/pi/pow/sqrt
1.2 Date对象(日期和时间)
Date是一个构造函数,需要实例化才能使用其中的方法和属性
new Date()//实例的是当前时间
new Date(dateString/value)//字符串的时间形式/时间戳
方法
getFullyear()/年
getMonth()/月(0-11)
getDate()/日
getDay()/星期(0-6)
getHours()/小时
getMinutes()/分钟
getSecond()/秒
1.3 Array对象(数组)
1.3.1 数组判断
var arr=[1,2,3]
1. instanceof 判断一个对象是否是某个构造函数的实例
arr instanceof Array (true/false)
2. Array.isArray() 判断一个对象是否是数组
Array.isArray(arr)
3.valueOf()
不同类型对象的返回值:
Date:返回1970年一月一日到现在的毫秒数(时间戳)
boolean:返回布尔值
Array,object,string,function,Number 都返回本身
4.typeOf() 判断基本数据类型
1.3.2 数组增删,排序,索引
.push() 数组末尾加多个元素,改变原数组,返回新数组长度
.unshift() 数组顶部加多个元素...(shift,转变)
.pop() 数组末尾删一个元素,改变原数组,返回删除的元素
.shift() 数组顶部删一个元素...
.reverse() 颠倒数组,改变原数组,返回新数组
.sort() 小到大排序,改变原数组,返回新数组,他是比较unicode,有点问题
var arr=[21,11,2,10,19,50,14]
arr.sort( function(a,b){
return a-b;//升序(a比b大,交换,把a放后面)
return b-a;//降序
});
.indexOf(‘查找的元素1’,开始查找的索引号) (从前找)
查找数组给定元素的第一个索引,存在返回索引号,否则-1
.lastIndexOf(‘查找的元素2’) (从后找)
查找数组给定元素的最后一个索引
1.3.3 数组转字符串
.toString() 数组变为逗号拼接的字符串
arr.toString()
[1,2,3,4]---》1,2,3,4
.join(分隔符)
arr.join('+++') 数组变成自定义分隔符拼接的字符串
[1,2,3,4]---》1+++2+++3+++4
1.3.4 清空数组
arr = []
arr.length = 0
arr.splice(0,arr.length)
1.3.5 数组删除,拼接与截取
.splice(开始索引,length) 数组删除,改变原数组,返回被删除的片段
.concat(array2) 拼接多个数组,不改变原数组,返回拼接后的数组
.slice(开始索引,结束索引) 数组截取,不改变原数组,返回截取的片段
1.4 String对象(字符串)
1.4.1 字符串不可变问题
字符串里面的值是不可改变的,内容改变的时候,是在内存中重新开辟一个空间,
用于存储新的内容,让字符串指向新开辟的空间
1.4.2 根据字符返回位置/位置返回字符
1.根据字符返回位置(与数组一致)
.indexOf('查找的元素',开始查找的位置的索引) 返回查找到的第一个索引
.lastIndexOf('查找的元素') 从后面开始查找,返回第一个索引
例:
var str = '改革春风吹满地,春天来了';
console.log(str.indexOf('春',3));
2.根据位置返回字符
.charAt(字符串的索引) 返回一个字符
例:
var str = '码上未来';
console.log(str.charAt(3));
1.4.3 字符串拼接,截取,替换,分割
a.concat(b) 拼接两个字符串
.slice(开始索引,结束索引) 截取,结束索引取不到,
能为负数(从后数) ,前面要数组中较前的索引
.substring(start,end) 截取,结束索引取不到,
把负数或NaN替换为0 ,自动把小的数作为起点(索引和结束索引)
.substr(开始的索引,length) 截取,返回截取片段,不影响原字符串,
长度可以是0/负数,截取为空字符串(索引和长度)
.replace(被替换的字符,替换的字符) 替换 返回替换片段,不改变原数组
.split(分割字符) 分割字符串,返回数组
例:
var arr = [1, 2, 3, 4]
// 数组转字符串,用分隔符拼接
arr = arr.join('++')
console.log(arr);
// 字符串按分隔符分割,返回数组
arr = arr.split('++')
console.log(arr);
2.数据类型存储方式
2.1数据类型分类
简单数据类型: string,number,boolean,undefined,null
引用数据类型: Object,Array,function,Date
2.2简单数据类型和引用数据类型传参
简单数据类型传递的是值,引用数据类型传递的是地址