一、Math數學對象
1.Math對象,針對于數字。
2.Math.random()? 取[0,1)之間的浮點數。
如果想得到[a,b]的隨機整數:
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.絕對值
var a=Math.abs(-6);
9.次方
var a=Math.pow(5,2);
10.平方根,開平方
var a=Math.sqrt(4);
二、Array對象
1.push() ?? 在尾部添加元素???? 返回值為添加的元素之后的數組容量
不管有沒有接收返回值,都將元素添加到數組里面
?var arr=[1,2,3];
var b=arr.push(6);
添加之后arr=[1,2,3,6];?? b=4;
2.unshift()? 在頭部添加? 元素添加位置在數組頭部?? 返回值為添加元素之后的數組的容量
var arr=[1,2,3,4,5];
var count2=arr.unshift(7);
3.pop()? 刪除尾部元素?? 一次只能刪除一個? 返回值為被刪除的那個元素
并且數組本身最后一個元素也被刪除
var arr=[1,2,3,8,12];
var count3=arr.pop();
4.shift()? 刪除頭部元素 只能刪一個? 返回值為被刪除的那個元素
并且數組本身第一個元素也被刪除
var arr=[1,2,3,8,12];
var count4=arr.shift();
5.splice() ? 既可以進行添加刪除的操作,又可以進行替換的操作?
添加的元素的個數可以不跟刪除的元素的個數相同?
返回值是被替換的元素構成的數組 如果刪除0個元素,返回值沒有任何意義,是一個空數組
var arr=[1,2,3,8,12];
var count7=arr.splice(1,2,6,7,8,9);
//從下標為1的地方刪除2個元素,并且將6,7,8,9從下標為1的地方添加到數組里面
6.sort()? 數組排序? 能實現數組的排序,但是是按照ASCII表的順序排序,只能挨個數字和字母比較????
var arr=[12,8,9,5,3,28];
var d=arr.sort();
//實現真正的排序
function sort1(a,b){
return a-b;
}
console.log(arr.sort(sort1))
7.concat()? 數組的拼接? 實現兩個數組的拼接
var newArr1=arr.concat([7,12,19]);
var newArr2=arr.concat(arr2);
8.join()?? 數組元素之間添加分割符
var arr=[12,8,9];
var str=arr.join("&");
三、字符串對象
1.String()?? 將數字轉換為字符串
var str = String(10);
2.toString()?? 將數字轉換為字符串
var a = 20;
var str1 = a.toString();
3.charAt()? 返回字符串中的某一位? 參數傳的是單個值,數字和字符串都可以
var str = "hello world";
console.log(str.charAt(6)); //w
console.log(str.charAt('6')); //w
4.search()? 查找,返回的是位置? 如果找不到返回的是-1
得到的是傳入的字符串在原來的字符串的位置
indexOf() 和search() 用法相似,區別在于:
search傳入的都是符合正則驗證的字符串? indexOf可以傳入任何類型的字符串
var str = "松江區.泗涇鎮.九干路”;
console.log(str.search("泗涇鎮")); //4
console.log(str.indexOf("泗涇鎮")); //4
console.log(str.search(".")); //0
console.log(str.indexOf(".")); //3
5.slice()? 字符串的截取? 傳入兩個參數,一個代表start,一個代表end
從start位置開始截取,截取到end位置之前的最后一個字符
截取出來的字符串長度為end-start
如果參數為負數,則將負數加上字符串長度,轉換成整數之后再進行截取
如果負數的絕對值大于字符串的長度,start按照0算
如果start大于end將返回空字符串
var str = "hello world";
console.log(str.slice(1, 7));
console.log(str.slice(-7, 7));
6.substring()? 字符串的截取? 和slice的區別:
參數如果為負數,直接變為0,然后運算
兩個參數不需要保證前面的一定小于后面的,取兩者中小的作為start
7.substr()? 字符串的截取?? 第一個參數代表起始位置,第二個參數代表截取長度
console.log(str.substr(3, 7));
substring 和 slice如果給定一個參數,將從這個參數開始截取到最后
console.log(str.substring(3));
console.log(str.slice(3));
8.replace()? 用第二個參數將第一個參數替換掉
var str = "hello world";
console.log(str.replace("hello", "hi"))
9.split()? 把一個字符串分割成字符串數組,一般和正則一起用
將字符串按照給定的內容精選分割,得到一個數組
console.log(str.split(" "));
10.cancat()? 將一個字符串或多個字符串拼接起來,獲得一個新的字符串
+號可以直接拼接,運算符重載
console.log(str.concat("hahaha"));
11.lastIndexOf()??? 返回最后一個滿足條件的下標
indexOf()返回的是第一個滿足條件的下標
var str = "hello world hello hello world";
console.log(str.indexOf("hello")); //0
console.log(str.lastIndexOf("hello")); //18
四、Date日期對象
1.構建日期對象
獲取的的是當前時間
星期? 月? 日 年 時 分 秒 時區(相對于0時區)
var nowDate = new Date();
console.log(nowDate);
console.log(typeof(nowDate)); //object
2.將日期字符串轉換為日期對象
日期對象對象有兩種:
yyy/MM/dd hh:mm:ss
yyy-MM-dd hh:mm:ss,在IE下轉換失敗
如果字符串yyy/MM/dd里面不給定時間,默認時間00:00:00
如果字符串yyy-MM-dd里面不給定時間,默認時間為當前時區時間
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.直接給定值
可以單獨給的年月日 時分秒 毫秒
月份給值是0~11的,0代表1月,11代表12月
小時 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位數的年份
var? month = d.getMonth(); //獲取月份,從0開始,0表示1月
var? Date = d.getDate(); //獲取月份中的天數,日期
var? Day = d.getDay(); //獲取是周幾,從0開始,0是周天
var? hour = d.getHours(); //獲取小時
var? Minutes = d.getMinutes(); //獲取分鐘
var? second = d.getSeconds(); //獲取秒
var?? m = d.getMilliseconds(); //獲取毫秒
var??? time = d.getTime(); //獲取從1970年1月1日到現在的毫秒數
5.日期對象的設置方法
通過set方法可以將日期對象中的某一個值改掉
var myDate = new Date();
myDate.setFullYear(2017);
console.log(myDate);
myDate.setMonth(1);
console.log(myDate);
6.日期對象轉換為字符串對象的方法
var myDate = new Date();
console.log(myDate.toString());
console.log(myDate.toLocaleString())
7.日期對象的兩個靜態方法
快捷獲取當前日期和1970.1.1之間 的毫秒數
console.log(Date.now());
快捷獲取某一個日期與1970.1.1之間 的毫秒數
console.log(Date.parse("2016/11/22 15:23:00"));