js內置對象 1. JavaScript中的對象分為3中;自定義對象/內置對象,瀏覽器對象 2. Math對象 Math.PI; 圓周率 Math.floor();向下取整 Math.ceil();向上取整 Math.max();最大值 Math.min();最小值 Math.randon();隨機 ...
js內置對象
JavaScript中的對象分為3中;自定義對象/內置對象,瀏覽器對象
Math對象
Math.PI; 圓周率
Math.floor();向下取整
Math.ceil();向上取整
Math.max();最大值
Math.min();最小值
Math.randon();隨機數
得到一個數之間的隨機整數,包括兩個數在內
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()方法的使用
- 獲取當前時間必須實例化
- Date()構造函數的參數
- 如果括弧裡面有時間,就返回參數裡面的時間。例如日期格式字元串為‘2019-5-1’,可以寫成new Date('2019-5-1')或者new Date('2019/5/1')
日期格式化
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分,結果會是負數。
用時間戳來做。用戶輸入時間總的毫秒數減去現在時間的總的毫秒數,得到的就是剩餘時間的毫秒數。
把剩餘時間總的毫秒數轉為天、時、分、秒(時間戳轉換為時分秒)
轉換公式:
- d=parseInt(總秒數/60/60/24);//計算天數
- h=parseInt(總秒數/60/60%24);//計算小時
- m=parseInt(總秒數/60%60);//計算分數
- s=parseInt(總秒數%60);//計算當前秒數
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()
創建數組的方式
- 利用字面量
- var arr =[];
- 利用new Array()
- var arr=new Array(); //創建了一個空數組
- var arr=new Array(2); //表示數組長度為2 裡面有2個空的數組元素
- var arr=new Array(2,3); //等價於[2,3] 這樣寫表示 裡面有2個數組元素 是 2和3
- 利用字面量
檢測是否為數組
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);
【註意】
- push 是可以給數組追加新的元素
- push()參數直接寫 數組元素
- push 完畢之後 ,返回的結果是 新數組的長度
- 原數組也會發生變化
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相同 但是不接受負值 替換字元
- replace(‘被替換的字元’,‘替換的字元’)
字元串轉換為數組 split("分隔符")