一哲银、Math數(shù)學(xué)對(duì)象
1.Math對(duì)象扛吞,針對(duì)于數(shù)字。
2.Math.random()? 取[0,1)之間的浮點(diǎn)數(shù)荆责。
如果想得到[a,b]的隨機(jī)整數(shù):
var???? randomNum=parseInt(Math.random()*(b-a+1)+a);
3.取最大值
var a=Math.max(1,5,7);
4.取最小值
var a=Math.min(1,2,7);
5.向上取整
var a=Math.ceil(1.4);
6.向下取整
var a=Math.floor(1.8);
7.四舍五入
var a=Math.round(2.6);
8.絕對(duì)值
var a=Math.abs(-6);
9.次方
var a=Math.pow(5,2);
10.平方根滥比,開(kāi)平方
var a=Math.sqrt(4);
二、Array對(duì)象
1.push() ?? 在尾部添加元素???? 返回值為添加的元素之后的數(shù)組容量
不管有沒(méi)有接收返回值做院,都將元素添加到數(shù)組里面
?var arr=[1,2,3];
var b=arr.push(6);
添加之后arr=[1,2,3,6];?? b=4;
2.unshift()? 在頭部添加? 元素添加位置在數(shù)組頭部?? 返回值為添加元素之后的數(shù)組的容量
var arr=[1,2,3,4,5];
var count2=arr.unshift(7);
3.pop()? 刪除尾部元素?? 一次只能刪除一個(gè)? 返回值為被刪除的那個(gè)元素
并且數(shù)組本身最后一個(gè)元素也被刪除
var arr=[1,2,3,8,12];
var count3=arr.pop();
4.shift()? 刪除頭部元素 只能刪一個(gè)? 返回值為被刪除的那個(gè)元素
并且數(shù)組本身第一個(gè)元素也被刪除
var arr=[1,2,3,8,12];
var count4=arr.shift();
5.splice() ? 既可以進(jìn)行添加刪除的操作盲泛,又可以進(jìn)行替換的操作?
添加的元素的個(gè)數(shù)可以不跟刪除的元素的個(gè)數(shù)相同?
返回值是被替換的元素構(gòu)成的數(shù)組 如果刪除0個(gè)元素,返回值沒(méi)有任何意義键耕,是一個(gè)空數(shù)組
var arr=[1,2,3,8,12];
var count7=arr.splice(1,2,6,7,8,9);
//從下標(biāo)為1的地方刪除2個(gè)元素寺滚,并且將6,7屈雄,8村视,9從下標(biāo)為1的地方添加到數(shù)組里面
6.sort()? 數(shù)組排序? 能實(shí)現(xiàn)數(shù)組的排序,但是是按照ASCII表的順序排序酒奶,只能挨個(gè)數(shù)字和字母比較????
var arr=[12,8,9,5,3,28];
var d=arr.sort();
//實(shí)現(xiàn)真正的排序
function sort1(a,b){
return a-b;
}
console.log(arr.sort(sort1))
7.concat()? 數(shù)組的拼接? 實(shí)現(xiàn)兩個(gè)數(shù)組的拼接
var newArr1=arr.concat([7,12,19]);
var newArr2=arr.concat(arr2);
8.join()?? 數(shù)組元素之間添加分割符
var arr=[12,8,9];
var str=arr.join("&");
三蚁孔、字符串對(duì)象
1.String()?? 將數(shù)字轉(zhuǎn)換為字符串
var str = String(10);
2.toString()?? 將數(shù)字轉(zhuǎn)換為字符串
var a = 20;
var str1 = a.toString();
3.charAt()? 返回字符串中的某一位? 參數(shù)傳的是單個(gè)值奶赔,數(shù)字和字符串都可以
var str = "hello world";
console.log(str.charAt(6)); //w
console.log(str.charAt('6')); //w
4.search()? 查找,返回的是位置? 如果找不到返回的是-1
得到的是傳入的字符串在原來(lái)的字符串的位置
indexOf() 和search() 用法相似杠氢,區(qū)別在于:
search傳入的都是符合正則驗(yàn)證的字符串? indexOf可以傳入任何類型的字符串
var str = "松江區(qū).泗涇鎮(zhèn).九干路”站刑;
console.log(str.search("泗涇鎮(zhèn)")); //4
console.log(str.indexOf("泗涇鎮(zhèn)")); //4
console.log(str.search(".")); //0
console.log(str.indexOf(".")); //3
5.slice()? 字符串的截取? 傳入兩個(gè)參數(shù),一個(gè)代表start鼻百,一個(gè)代表end
從start位置開(kāi)始截取绞旅,截取到end位置之前的最后一個(gè)字符
截取出來(lái)的字符串長(zhǎng)度為end-start
如果參數(shù)為負(fù)數(shù),則將負(fù)數(shù)加上字符串長(zhǎng)度温艇,轉(zhuǎn)換成整數(shù)之后再進(jìn)行截取
如果負(fù)數(shù)的絕對(duì)值大于字符串的長(zhǎng)度因悲,start按照0算
如果start大于end將返回空字符串
var str = "hello world";
console.log(str.slice(1, 7));
console.log(str.slice(-7, 7));
6.substring()? 字符串的截取? 和slice的區(qū)別:
參數(shù)如果為負(fù)數(shù),直接變?yōu)?中贝,然后運(yùn)算
兩個(gè)參數(shù)不需要保證前面的一定小于后面的囤捻,取兩者中小的作為start
7.substr()? 字符串的截取?? 第一個(gè)參數(shù)代表起始位置,第二個(gè)參數(shù)代表截取長(zhǎng)度
console.log(str.substr(3, 7));
substring 和 slice如果給定一個(gè)參數(shù)邻寿,將從這個(gè)參數(shù)開(kāi)始截取到最后
console.log(str.substring(3));
console.log(str.slice(3));
8.replace()? 用第二個(gè)參數(shù)將第一個(gè)參數(shù)替換掉
var str = "hello world";
console.log(str.replace("hello", "hi"))
9.split()? 把一個(gè)字符串分割成字符串?dāng)?shù)組蝎土,一般和正則一起用
將字符串按照給定的內(nèi)容精選分割,得到一個(gè)數(shù)組
console.log(str.split(" "));
10.cancat()? 將一個(gè)字符串或多個(gè)字符串拼接起來(lái)绣否,獲得一個(gè)新的字符串
+號(hào)可以直接拼接誊涯,運(yùn)算符重載
console.log(str.concat("hahaha"));
11.lastIndexOf()??? 返回最后一個(gè)滿足條件的下標(biāo)
indexOf()返回的是第一個(gè)滿足條件的下標(biāo)
var str = "hello world hello hello world";
console.log(str.indexOf("hello")); //0
console.log(str.lastIndexOf("hello")); //18
四、Date日期對(duì)象
1.構(gòu)建日期對(duì)象
獲取的的是當(dāng)前時(shí)間
星期? 月? 日 年 時(shí) 分 秒 時(shí)區(qū)(相對(duì)于0時(shí)區(qū))
var nowDate = new Date();
console.log(nowDate);
console.log(typeof(nowDate)); //object
2.將日期字符串轉(zhuǎn)換為日期對(duì)象
日期對(duì)象對(duì)象有兩種:
yyy/MM/dd hh:mm:ss
yyy-MM-dd hh:mm:ss,在IE下轉(zhuǎn)換失敗
如果字符串yyy/MM/dd里面不給定時(shí)間蒜撮,默認(rèn)時(shí)間00:00:00
如果字符串yyy-MM-dd里面不給定時(shí)間暴构,默認(rèn)時(shí)間為當(dāng)前時(shí)區(qū)時(shí)間
var d = new Date("2016/11/22 11:52:30");
console.log(d);
var d = new Date("2016-11-22 11:52:30");
console.log(d);
var d = new Date("2016/11/22");
console.log(d);
var d = new Date("2016-11-22");
console.log(d);
3.直接給定值
可以單獨(dú)給的年月日 時(shí)分秒 毫秒
月份給值是0~11的,0代表1月段磨,11代表12月
小時(shí) 0~23
分鐘取逾,秒? 0~59
毫秒? 0~999
var d = new Date(1993, 0, 30);
var newD = new Date(2017, 0, 1);
4.get方法
var? d = new Date();
var? year = d.getFullYear(); //獲取4位數(shù)的年份
var? month = d.getMonth(); //獲取月份,從0開(kāi)始苹支,0表示1月
var? Date = d.getDate(); //獲取月份中的天數(shù)砾隅,日期
var? Day = d.getDay(); //獲取是周幾,從0開(kāi)始,0是周天
var? hour = d.getHours(); //獲取小時(shí)
var? Minutes = d.getMinutes(); //獲取分鐘
var? second = d.getSeconds(); //獲取秒
var?? m = d.getMilliseconds(); //獲取毫秒
var??? time = d.getTime(); //獲取從1970年1月1日到現(xiàn)在的毫秒數(shù)
5.日期對(duì)象的設(shè)置方法
通過(guò)set方法可以將日期對(duì)象中的某一個(gè)值改掉
var myDate = new Date();
myDate.setFullYear(2017);
console.log(myDate);
myDate.setMonth(1);
console.log(myDate);
6.日期對(duì)象轉(zhuǎn)換為字符串對(duì)象的方法
var myDate = new Date();
console.log(myDate.toString());
console.log(myDate.toLocaleString())
7.日期對(duì)象的兩個(gè)靜態(tài)方法
快捷獲取當(dāng)前日期和1970.1.1之間 的毫秒數(shù)
console.log(Date.now());
快捷獲取某一個(gè)日期與1970.1.1之間 的毫秒數(shù)
console.log(Date.parse("2016/11/22 15:23:00"));