首先JS对象分为3种:自定义、内置、浏览器。今天就总结一下JS内置对象以及一些用法。
一、Math对象:不是一个构造函数,不需要new,直接调用即可。
1.Math.max(x,y);返回x,y的最大值。注意:如果小括号种的值有非数值,则返回NaN,如果什么都没有返回-Infinity。
Math.max('aa',);-> NAN
Math.max(); ->Infinity
2.Math.abs(x);返回x的绝对值
3.Math.ceil(x);对x进行向上取整
Math.ceil(2.5)->3
Math.ceil(-2,3)->-2
4.Math.floor(x);对x进行向下取整
Math.floor(2.1)->2
Math.floor(-1.7)->2
5.Math.round(x);把数四舍五入为最接近的数。其他数字都是四舍五入,但是.5特殊,是往大了取。
Math.round(1,5)->2
Math.round(-1.5)->-1
Math.round(-2.3)->-2
6.Math.random();返回介于【0,1]的之间的一个随机数。返回一个两数之间的随机数方法:
Math.floor(Math.random()*(max-min+1)+min);
7.Math.pow(x,y);返回x的y次幂
二、日期对象 Date();是一个构造函数,必须使用new对象来调用创建我们的日期对象,如果没有参数,则会返回当前系统的当前时间。
1.创建Date对象的语法:
var myDate=new Date();
2.myDate.getDate();返回一个月中的某一天(1~31)
3.myDate,getDay()返回一周中的某一天(0~6)周日返回0.
4.myDate,getMonth();返回月份(0~11)所以真实的月份应该是myDate.getMonth()+1
5.myDate.getFullYear();以四位数字返回当前日期的年份
下面写一个获取当前日期正确格式的写法。
虽然new Date()是返回当前系统的日期,但是出来的结果并非是常用的格式,如图:
正确获取当前格式写法:
6.myDate,getHours();返回小时
7.myDate.getMinuter();返回分
8.myDate.getSeconds();返回秒
当前日期时分秒正确格式的封装函数:
9.var date=+new Date(time);time可以是输入的一个时间,按照yyyy-MM-DD的格式输入,然后返回的是该time日期距离1970年1月1号过了多少毫秒,时间戳,可以用来做倒计时案例。
三、数组对象 Array
1.数组对象的创建方式有两种:
(1).利用数组字面量 var arr=[1,2,3];
(2).利用new Array ;
var arr=new Array();表示创建了一个空数组
var arr=new Array(2);//表示这个数组的长度为2,里面有2个空的数组元素
(3).var arr=new Array(2,3);等价于[2,3]
2.检测是否为数组方法
(1).instanceof
arr instanceof Array
(2).Array.isArray(arr);用来确定传入的参数是否是一个数组。
Array对象的一些方法
1.concat() 连接两个或更多的数组,并返回结果
let arr1=[2,3,4,5]
let arr2=[6,7,8]
let arr=arr1.concat(arr2)
arr->[2,3,4,5,6,7,8]
2.join() 把数组的所有元素放入一个字符串元素通过制定的分隔符进行分割
let arr=[1,2,3,4]
arr.join('-')
arr -> "1-2-3-4"
最后返回的是字符串形式!join()没有参数返回的和arr.toString()返回的字符串相同!
3.push();该方法用于向数组的末尾添加一个或更多元素,并返回新的长度,原数组会发生变化
let arr=[1,2,3];
arr.push(6);->[1,2,3,5]
4.pop();该方法用于删除并返回数组的最后一个元素。
let arr=[1,2,3]
arr.pop(); ->3
arr;->[1,2];
5.shift();该方法用于删除并返回数组的第一个元素
let arr=[1,2,3,4];
arr.shift();->1
arr;->[2,3,4]
6.unshift();该方法用于向数组的开头添加一个或更多元素,并返回新的长度
let arr=[2,2,3,4];
arr.unshift(1,5);
arr;->[1,5,2,2,3,4];
7.reverse();该方法用于翻转数组
let arr1=[2,3,4,5];
arr1.reverse();
arr1;->[5,4,3,2]
8.slice(start,end);该方法用于从某个已有的数组返回选定的元素,start表示从何处开始选取,end表示到何处结尾,如果end未被规定则从start开始选取到数组结尾的所有元素.start、end均用数字表示数组索引下标.注意:该方法返回一个新的数组,不会改变原来的数组,包含从start到end(不包含end元素)的一个子数组。
let arr=[1,2,3,4,5,6,7];
let arr1=arr.slice(1,4);
arr1;->[2,3,4];
arr;->[1,2,3,4,5,67];原数组不改变
9.sort();该方法用于对数组进行排序
数组排序的函数:
let arr=[2,5,1,7,10,22,13,46];
arr.sort((a,b)=>{
return a-b;//升序 ->[1,2,5,7,10,13,22,46]
return b-a;//降序 ->[46,22,13,10,7,5,2,1]
})
10.splice();该方法从数组中添加或者删除新元素,然后返回被删除的元素。注意的是该方法会改变原始数组
splice(index,number,item1);该方法有三个参数,index表示添加/删除元素的位置,number表示要删除的数量,如果为0则不删除,item1表示向数组添加的新元素,该元素添加在index索引位置的前面
let arr=[1,2,3,4,5];
arr.splice(2,3);//表示从索引为2开始删除,删除3个元素,即3,4,5
arr;->[1,2]
let arr1=[2,3,4,5,7];
arr1.splice(2,0,9);
arr1;->[2,3,9,4,5,7];
注意!splice和slice方法都可以用于删除数组中的元素,但是作用不同,splice方法直接改变原数组,但是slice是返回一个新的数组,不会改变原数组。
四.字符串对象String
1.indexOf(searchvalue,fromindex);该方法是返回某个指定的字符串值在字符串中首次出现的位置.如果找到则返回第一次出现的位置,如果没有则返回-1,字符串的位置是从0开始的。searchvalue:该参数表示要查找的字符串。fromindex:该参数表示查找的位置,如果没写默认从0开始查找。
var str="hello world!";
console.log(str.indexOf("ll"))->2
console.log(str.indexOf("a"))->-1
console.log(str.indexOf("l",7))->9 从第七个位置开始找,则会跳过前面的ll
2.lastIndexOf();searchvalue,fromindex该方法可返回一个制定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。参数同上含义相同,只不过是从后往前找。
var str="hello world!"
console.log(str.lastIndexOf('o'))->7 从后往前找到第一个匹配的字符
console.log(str.lastIndexOf('o'),6)->4 从第六个位置开始从后往前找。
3.charAt(index):该方法可以返回指定位置的字符,如果index不在该字符长度以内,则返回一个空字符串
var str="hello world!"
console.log(str.charAt(3));->l
4.charCodeAt();该方法可返回指定位置的字符的Unicode 编码
var str="A"
console.log(str.charCodeAt);->65
5.match();该方法可在字符串内检索指定的值,或找到一个或多个正则表达式。PS该方法还不是很熟练,先写到这儿之后熟练了在添上来!!
6.replace(regexp/substr,replacement);该方法用于在字符串中用一些字符替换另一些字符,或者换一个与正则表达式匹配的子串。
regexp/substr:被替换的,可以是规定子字符串或要替换的RegExp对象 replacement:替换的。可以是文本或者函数。(后面总结了正则对象会返回来详细总结)
var str="hello!world!pink";
var str1=str.replace('hello','nihao');
console.log(str1)->nihao!world!pink
7.slice()方法与数组的slice()方法一致
8.substr(start,length);该方法在字符串中抽取从start下标开始的指定数目的字符
var str="hello!world!pink";
console.log(str.substr(3,2))->lo
8.split()方法,该方法用于把一个字符串分割成字符串数组。与Array.join执行操作时相反的
var str="hello-world!pink";
console.log(str.split("-"));->["hello","world!pink"]