js内置对象
Posted cnlisiyiii-stu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js内置对象相关的知识,希望对你有一定的参考价值。
系统提供的对象, Object Array Math Date等
宿主对象(浏览器宿主,Node宿主软件)
浏览器中提供的对象。Js运行环境提供等对象。比如 Bom中的window,Dom中的document。
(一)Math对象
Math本身是一个对象,不是构造函数。
- 属性
console.log(Math.PI);
- 方法
var a = Math.abs(-100); //绝对值
- Math.abs(数字); 获取一个数字的绝对值
- Math.round(数字); 四舍五入
- Math.PI; π
- Math.ceil(数字); 向上取整
- Math.floor(数字); 向下取整
- Math.random(); 随机数[0,1);
- Math.max(数字,数字,数字...); 求最大数
- Math.min(数字,数字,数字...); 求最小数
(二)Date对象
Date和Math不同,是一个系统内置的构造函数。是JS提供的日期和时间的操作接口。
可以表示1970年1月1日前后各1亿天。
1. 创建日期对象
创建当前时间
1 new date = new Date(); //输出星期 月份 日期 年份 小时:分钟:秒 时区 2 3 console.log(date); //默认调用了toString(),得到的是字符串。 4 5 console.dir(date); //可以打印对象,得到的是对象。
创建其他时间
1 new date = new Date(‘2019/10/10 12:12:12‘); 2 3 //或new date = new Date(‘2019-10-10 12:12:12‘);
时间戳:是数字。从1970年到某个时间的总毫秒值
1 var date = new Date(9999999999); 2 3 console.dir(date);
传入多个参数
这种方式中的月份从0开始,即0到11。
1 var date = new Date(2019,3,4,12,12,12,500); 2 3 console.dir(date); //打印2019年4月4日12:12:12
2. 操作日期对象
var date = new Date(); //创建一个日期对象
//获取
var year = date.getFullYear(); //获取年份
var month = date.getMonth(); //获取月份。月份从0开始,打印出当前月份-1
var day = date.getDate(); //获取日期
var week = date.getDay(); //获取星期。返回星期数,数字范围为0(周日)到6(周六)
var hours = date.getHours(); //获取小时
var minutes = date.getMinutes(); //获取分钟
var seconds = date.getSeconds(); //获取秒
var milliSeconds = date.getMilliSeconds(); //获取毫秒
var time = date.getTime(); //获取从1970年到某日的时间戳
//设置
date.setMonth(4); //日期改变成5月
date.setMonth(12); //日期改变成下一年的1月。数字没有范围,年份会自动变化
date.setMonth(-1); //日期改变成上一年的12月。
1 //封装一个函数,实现格式化日期。 2 function blockDate(date) 3 // var date = new Date(); //获取当前时间 4 var year = date.getFullYear(); 5 var month = date.getMonth() + 1; 6 month = month < 10 ? ‘0‘ + month : month; 7 var day = date.getDate(); 8 day = day < 10 ? ‘0‘ + day : day; 9 var hours = date.getHours(); 10 hours = hours < 10 ? ‘0‘ + hours : hours; 11 var minutes = date.getMinutes(); 12 minutes = minutes < 10 ? ‘0‘ + minutes : minutes; 13 var seconds = date.getSeconds(); 14 seconds = seconds < 10 ? ‘0‘ + seconds : seconds; 15 var dateStr = (year + ‘年‘ + month + ‘月‘ + date + ‘日 ‘ + hours + ‘点‘ + minutes + ‘分‘ + seconds + ‘秒‘); 16 return dateStr; 17 18 var time = new Date(); //当前时间 19 var time = new Date(2019, 3, 4, 12, 12, 12); //指定时间 20 var r = blockDate(time); 21 document.write(r);
(三)数组对象
在js中数组是一个特殊对象:数组中数据的键名(即下标或索引)是一组从0开始的有序的数字。
1 var arr = new Array(11,22,33,44,55); 2 3 console.log(arr);
1. 向数组前后添加数据
1 var arr = [‘张三‘, ‘李四‘]; 2 3 arr.unshift(‘小明‘, ‘小黄‘); //在数组最前面添加元素 4 5 arr.push(‘王五‘, ‘赵六‘); //在数组末尾添加元素 6 7 //var len = arr.push(‘王五‘,‘赵六‘); 8 9 //console.log(len); //可以返回添加后的数组长度。
2. 删除数组前后数据
1 var arr = [‘张三‘, ‘李四‘, ‘王五‘, ‘赵六‘]; 2 3 arr.pop(); //不需要传参数,删除数组最后一个元素 4 5 arr.shift(); //删除数组的第一个元素 6 7 //var r = arr.pop(); 8 9 //console.log(arr); //返回删除掉的最后一个元素
3. 删除任意位置的数据
数组名.splice(index,howmany,item1,...,itemn);
index 从数组的什么位置开始删
howmany 删几个
item 添加的其他数据
1 var arr = [‘张三‘, ‘李四‘, ‘王五‘, ‘赵六‘]; 2 3 arr.splice(1, 1); //删掉了李四 4 5 //arr.splice(1,1,lisi); //将李四替换成了lisi 6 7 //arr.splice(1,0,‘小明‘,‘小白‘); //在李四前面添加了小明和小白 8 9 console.log(arr);
4. 数组元素的查询
数组名.indexOf(searchElement,index);
index 表示从数组的什么位置开始查找
1 var arr = [‘张三‘, ‘李四‘, ‘张三‘, ‘王五‘, ‘张三‘, ‘赵六‘]; //0,2,4 2 3 var index = arr.indexOf(‘张三‘); //返回张三在数组中的位置 4 5 //从前往后找,如果数组中有两个张三,返回第一个张三的位置。 6 7 var index = arr.indexOf(‘张三‘, 2); //返回2 8 9 //var index = arr.lastIndexOf(‘张三‘); //返回最后一个张三的位置 10 11 //若查找的数据不存在,返回-1 12 13 //var index = arr.indexOf(‘陈七‘); 14 15 console.log(index);
5. 反转和排序
反转:arr.reverse();
排序:arr.sort(); //默认按照Unicode编码排序,所以11会排在6前面
1 arr.sort(function (a, b)) 2 3 //a和b代表数组中相邻的两个数字 4 5 return a - b; //从小到大排列。 6 7 //return b-a; //从大到小排列。 8 9
6. 截取和拼接
截取:arr.slice(start,end);
1 var arr = [‘张三‘, ‘李四‘, ‘张三‘, ‘王五‘, ‘赵六‘]; 2 3 var r = arr.slice(); //表示截取全部 4 5 var r = arr.slice(2); //表示从指定位置向后截取所有。结果‘张三‘,‘王五‘,‘赵六‘ 6 7 var r = arr.slice(1, 3); //从指定位置向后截取到结束的位置,包括1但是不包括3
拼接:
1 var arr = [‘张三‘, ‘李四‘, ‘王五‘, ‘赵六‘]; 2 3 //var str = arr.join(); //默认用,连接 4 5 //var str = arr.join(‘-‘); //用-连接
7. 清空数组
1 var arr = [22, 33, 44, 55]; 2 3 // 方式1 推荐 4 arr = []; 5 6 // 方式2 7 arr.length = 0; 8 9 // 方式3 10 arr.splice(0, arr.length);
(四)String对象
字符串在内存中占据的大小由字符串的长度决定,字符串在重新赋值时,字符串的长度可能会发生改变。
在内存中原有的数据不会被更改,而是开辟新的空间,存放重新赋值后的数据。原有的数据会在某一时刻被浏览器回收。
要避免大量的字符串拼接,因为字符串由不可变性,在重新开辟空间时会耗时。
1. 获取字符串中的单个字符
字符串.charAt(index);
字符串[index]; // 推荐使用
2. 字符串的拼接和截取
- 拼接
字符串.concat(str1,str2,str3...);
拼接符+ //推荐使用?
- 截取
字符串.slice(star,end);
3. 查询字符是否在字符串中存在
字符串.indexOf();
字符串.lastIndexOf();
4. 去除空白符
字符串.trim(); // 去除字符串两边的空格
5. 字母字符大小写转换
字符串.toUpperCase(); // 转换大写
字符串.toLowerCase(); // 转换小写
6. 字符串替换
字符串.replace(newStr,oldStr);
7. 字符串分割
字符串.split(sp); // 把一个字符串分割成字符串数组。
以上是关于js内置对象的主要内容,如果未能解决你的问题,请参考以下文章