JavaScript中的對象分爲3中;自定義對象/內置對象,瀏覽器對象javascript
Math對象java
Math.PI; 圓周率算法
Math.floor();向下取整數組
Math.ceil();向上取整瀏覽器
Math.max();最大值dom
Math.min();最小值函數
Math.randon();隨機數code
獲得一個數之間的隨機整數,包括兩個數在內對象
function getRandomIntInclusive(min,max){ return Math.floor(Math.random()*(max - min + 1)) + min; }
Date() 日期對象 是一個構造函數 必須使用new 來調用建立排序
var date = new Date(); console.log(date);//Wed Dec 04 2019 20:17:25 GMT+0800 (中國標準時間) var date1 = new Date(2019,10,1);//數字型 Fri Nov 01 2019 00:00:00 GMT+0800 (中國標準時間) console.log(new Date('2019-10-1 20:25:30'));//Tue Oct 01 2019 20:25:30 GMT+0800 (中國標準時間)
Date()方法的使用
日期格式化
console.log(console.log(new Date().getFullYear());//輸出當前年
方法名 | 說明 | 代碼 |
---|---|---|
getFullYear() | 獲取當前年 | new Date().getFullYear(); |
getMonth() | 獲取當前月(0-11) | new Date().getMonth(); |
getDate() | 獲取當天日期 | new Date().getDate(); |
getDay() | 獲取星期幾(週日0 到週六6) | new Date().getDay(); |
getHours() | 獲取當前小時 | new Date().getHours(); |
getMinutes() | 獲取當前分鐘 | new Date().getMinutes(); |
getSeconds() | 獲取當前秒鐘 | new Date().getSeconds(); |
console.log(new Date().valueOf());//1575543088420 如今據1970.01.01 00:00:00 總的毫秒數 console.log(new Date().getTime()); console.log(+new Date()); console.log(Date.now());
倒計時案例
核心算法:輸入的時間減去如今的時間就是剩餘的時間,及倒計時,可是不能拿着時分秒相減,好比05分減去25分,結果會是負數。
用時間戳來作。用戶輸入時間總的毫秒數減去如今時間的總的毫秒數,獲得的就是剩餘時間的毫秒數。
把剩餘時間總的毫秒數轉爲天、時、分、秒(時間戳轉換爲時分秒)
轉換公式:
function conutDown(time){ var nowTime= +new Date();// 返回的是當前時間總的毫秒數 var inputTime = +new Date(time);// 返回的時用戶輸入時間總的毫秒數 var times = (inputTime - nowTime) / 1000;//times是剩餘時間總的秒數 var d=parseInt(times/60/60/24);//計算天數 d = d< 10 ? '0' + d : d; var h=parseInt(times/60/60%24);//計算小時 h = h < 10 ? '0' + h : h; var m=parseInt(times/60%60);//計算分數 m = m < 10 ? '0' + m : m; var s=parseInt(times%60);//計算當前秒數 s = s < 10 ? '0' + s : s; return d + '天' + h + '時' + m + '分' + s + '秒'; }
Array()
建立數組的方式
檢測是否爲數組
instanceof 元算符 它能夠用來檢測是否爲數組
var arr=[]; var obj={}; console.log(arr instanceof Array); //true console.log(obj instanceof Array); //false
Array.isArray(參數);
添加刪除數組元素方法
push() 在數組的末尾 添加一個或多個數組元素
var arr =[1,2,3]; arr.push(4);
【注意】
unshift 在數組的開頭 添加一個或多個數組元素
方法名 | 說明 | 返回值 |
---|---|---|
push(參數1.。。) | 在數組的末尾 添加一個或多個數組元素 | 新數組的長度 |
pop() | 刪除數組最後一個元素,把數組長度減一 無參數 修改原數組 | 返回刪除的元素值 |
unshift(參數1.。) | 在數組的開頭 添加一個或多個數組元素 | 返回新數組的長度 |
shift() | 刪除數組的第一個元素,數組長度減1 無參數/修改原數組 | 並返回第一個元素的值 |
數組排序
方法名 | 說明 | 是否修改原數組 |
---|---|---|
reverse() | 點到數組中元素的順序,無參數 | 該方法會改變原來的數組 返回新數組 |
sort() | 對數組的元素進行排序 | 該方法會改變原來的數組 返回新數組 |
數組索引方法
方法名 | 說明 | 返回值 |
---|---|---|
indexOf() | 數組中查找給定元素的第一個索引 | 若是存在返回索引號 若是不存在,則返回-1 |
lastIndexOf() | 在數組中的最後一個索引 | 若是存在返回索引號 若是不存在,則返回-1 |
數組去重案例
//核心算法:咱們遍歷就數組,而後拿就數組元素去查詢新數組,若是該元素中在新數組中沒有添加,有就不添加 function unique(arr){ var newArr=[]; for (var i = 0 ; i <arr.length; i++){ if(newArr.indexOf(arr[i] === -1)){ newArr.push(arr[i]); } } return newArr; }
數組轉換爲字符串
方法名 | 說明 | 返回值 |
---|---|---|
toString() | 把數組轉換成字符串,逗號分隔每一項 | 返回一個字符串 |
join('分隔符') | 方法用於把數組中的全部元素轉換爲一個字符串 |
字符串對象
字符串全部的方法,都不會修改字符串自己(字符串是不可變的)
var str = "abcd,abcd"; console.log(str.indexOf('c'));//2
案例:返回某個字符出現的位置以及次數
核心算法:先查找第一個o出現的位置
而後 只要indexOf返回的結果不是-1就繼續日後查找
由於indexOf只能查找到第一個,因此後面的查找,利用第二個參數,當前索引加1,從而繼續查找
var str="abcoefoxyozzopp"; var index =str.indexOf('o'); while(index !== -1){ console.log(index); str.indexOf('o',[index+1]); }
根據位置返回字符(重點)
方法名 | 說明 | 使用 |
---|---|---|
charAt(index) | 返回指定位置的字符(index 字符串的索引號) | str.charAt(0) |
charCodeAt(index) | 獲取指定位置處字符的ASCII碼(index索引號) | str.charCodeAt(0) |
str[index] | 獲取指定位置處字符 | HTML5,IE8+和charAt()等效 |
字符串操做方法
方法名 | 說明 |
---|---|
concat(str1,str2,str3...) | concat()方法用於鏈接兩個或多個字符串。拼接字符串,等效與+,+更經常使用 |
substr(start,length) | 從start位置開始(索引號),length取的個數 |
slice(start,end) | 從start位置開始,截取end位置,end取不到 |
substring(start,end) | 從start位置開始,截取到end位置,end取不到 基本和slice相同 可是不接受負值 |
替換字符
字符串轉換爲數組 split("分隔符")