js內置對象

系統提供的對象, Object Array Math Date等數組

宿主對象(瀏覽器宿主,Node宿主軟件)瀏覽器

瀏覽器中提供的對象。Js運行環境提供等對象。好比 Bom中的window,Dom中的document。dom


(一)Math對象

Math自己是一個對象,不是構造函數。函數

  • 屬性

console.log(Math.PI);編碼

  • 方法

var a = Math.abs(-100);   //絕對值spa

 

- Math.abs(數字); 獲取一個數字的絕對值code

- Math.round(數字);  四捨五入對象

- Math.PI;    πblog

- 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);  // 把一個字符串分割成字符串數組。

相關文章
相關標籤/搜索