1. 内置对象
对象分三种 : 自定义对象、内置对象、浏览器对象
Math Date Array String
2. Math
Math.pi ()//圆周率
Math.floor()//向下取整
Math.ceil() //向上取整
Math.tound() //四舍五入 就近取整
Math.abs //绝对值
Math.max()/Math.min() //求最大和最小值
3.时间戳
我们现在的时间距离1970.1.1
var date = new Date(); date.valueOf() dategetTime()
var date1 = +new Date();
Date,now() H5新增的
1.3日期对象
var arr = new Date() //创建日期对象
// 格式化日期 年月日
var date = new Date();
console.log(date.getFullYear()); // 返回当前日期的年 2019
console.log(date.getMonth() + 1); // 月份 返回的月份小1个月 记得月份+1 呦
console.log(date.getDate()); // 返回的是 几号
console.log(date.getDay()); // 3 周一返回的是 1 周六返回的是 6 但是 周日返回的是 0
// 我们写一个 2019年 5月 1日 星期三
var year = date.getFullYear();
var month = date.getMonth() + 1;
var dates = date.getDate();
var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
var day = date.getDay();
console.log('今天是:' + year + '年' + month + '月' + dates + '日 ' + arr[day]);
4.数组对象
4.1创建数组的两种方式
字面量方式穿件数组
new Array()
4.2检测是否为数组的两种方式
instanceof
Array.isArray(参数)
4.3添加删除数组
(1)push(参数) 末尾添加一个或多个,修改原数组 并返回新的长度
(2)pop() 删除数组最后一个元素,把数组长度减1 无参数 修改原数组 返回它删除的元素的值
(3)unshift(参数)向数组的开头添加一个或更多元素,注意修改原数组 并返回新的长度
(4)shift() 删除数组的第一个元素,数组长度减1 无参数、修改原数组 并返回第一个元素的值
4.4 数组排序
(1)reverse() 颠倒数组中元素的顺序,无参数 该方法会改变原来的数组 返回新数组
(2)sort() 对数组的元素进行排序 该方法改变原来的数组 返回新数组
arr1.sort(function(a,b){
return a - b ;
}) 对数组排序 有十位数的时候使用
4.4数组索引的方法
(1) indexOf 数组中查找给定元素的第一个索引 如果存在返回索引号 如果不存在, 则返回 -1
(2) lastlndexOf() 在数组中的最后一个索引 如果存在返回索引号 如果不存在, 则返回 -1
4.5数组转换为字符串
(1)toString 把数组转成字符串,逗号分隔每一项 返回衣蛾字符串
(2)join('分隔符) 方法用于把数组中的所有元素转换为一个字符串。 返回一个字符串。
4.6 zconcat() 连接两个或多个数组 不影响原数组 返回一个新的数组
slice() 数组截取slice(begin,end) 返回被截取项目的新数组
splice 数组删除splice(第几个开始,要删除个数)返回被删除项目的新数组 注意: 这个会影响原数组
5. 基本包装类型
1.生成临时变量,把简单类型包装为复杂数据类型
2.赋值给我们声明的字符变量
3,销毁临时变量
6. 字符串的不可变
指的是里面的值不可变,虽然看上去可以改变内容,但其实是地址变了,内存中新开辟了一个内存空间
7.根据位置返回字符.
charAt(index) 返回指定位置的字符(index 字符串的索引号)
charCodeAt(index) 获取指定位置处字符的ASCLL码(index索引号)
str[ index] 获取指定位置处字符
8.字符串操作方法
concat () 方法用于连接两个或者多个字符串。拼接字符串
substr(start , length) 从start位置开始(索引号) ,length 取得个数 重点记住这个
slice(start , end )从start位置开始,截取到end位置,end取不到(他俩都是索引号)
substring(start , end )从start位置开始,截取到end位置, end取不到 基本和slice相同 但是不接受负值
replace('被替换的字符‘,‘替换为的字符’) 替换字符
字符转换为数组 split('分隔符') 以什么分割
9 简单类型与复杂类型
简单类型又叫做基本数据类型或者值类型 ,复杂类型有叫做引用类型。
1. 值类型: 简单数据类型/基本数据类型,在存储时变量中存储的值值本身。
2.引用类型 : 在存储时变量中存储的仅仅是地址(引用),因此叫做引用数据类型
堆和栈
1.栈(操作系统): 由操作系统自动分配释放存放函数的参数值、局部变量的值等。
简单数据类型存放到栈里面
2.堆(操作系统) : 一般由程序员分配释放,若程序员不释放,由垃圾回收机制回收
发咋数据类型存放到堆里面
3.简单数据类型 是存放在栈里面 里面直接开辟一个空间存放的是值
4.复杂数据类型 首先在栈里面存放地址 十六进制 然后这个地址指向堆里面的数据
简单类型传参
函数的形参也可以看做是一个变量,当我们把一个值类型变量作为参数传给函数的形参时,其实是把变量在栈空间里的值复制了一份给形参,那么在方法内部对形参做任何修改,都不会影响到的外部变量
复杂类型传参
函数的形参也可以看做是一个变量,当我们把引用类型变量传给形参时,其实是把变量在栈空间里保存的堆地址赋值给了形参,形参和实参其实保存的是同一个堆地址,所以操作的是同一个对象。