Javascript基礎(chǔ)知識(shí)中關(guān)于內(nèi)置對(duì)象的知識(shí)
1、內(nèi)置對(duì)象介紹
JavaScript組成: ECMAScript | DOM | BOM
ECMAScript: 變量 , 函數(shù), 數(shù)據(jù)類型 ,流程控制,內(nèi)置對(duì)象
js中的對(duì)象: 自定義對(duì)象 , 內(nèi)置對(duì)象 , 瀏覽器對(duì)象(不屬于ECMAScript)
1.1 Math對(duì)象
提供了一系列與數(shù)學(xué)相關(guān)的方法或?qū)傩?nbsp; ( 靜態(tài) | 實(shí)例)
1.2 Math中的方法
Math,PI--- 獲取圓周率Math.random()--- 返回大于等于0小于1之間的隨機(jī)數(shù)
靈活使用:
a:求兩個(gè)數(shù)的隨機(jī)數(shù),并包含這兩個(gè)數(shù):
Math.floor( Math.random() * (max - min + 1) + min );
例子:求 1 到 10之間的隨機(jī)整數(shù)[包括1和10]
function getRondom(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min);
}
var i = getRondom(1,10);
console.log(i);
b:當(dāng)想要進(jìn)行隨機(jī)排序時(shí),即可使用:
Math.random()- 0.5 精度利用這個(gè)弱點(diǎn) 會(huì)進(jìn)行隨機(jī)排序
例子:隨機(jī)排序
var arr1 = ["鹿晗", "王俊凱", "蔡徐坤", "彭于晏", "周杰倫", "劉德華", "趙本山"];
arr1.sort(function(){
return Math.random() - 0.5;
});
console.log(arr1);
Math.floor()--- 向下取整,返回一個(gè)小于當(dāng)前數(shù)字的整數(shù)Math.ceil()--- 向上取整,返回一個(gè)大于當(dāng)前數(shù)字的整數(shù)Math.round()--- 四舍五入
特殊情況:
console.log(Math.round(-1.5))//結(jié)果為-1
Math.abs()--- 取絕對(duì)值(返回當(dāng)前數(shù)字的絕對(duì)值,正整數(shù))
console.log(Math.abs("1")); //隱式轉(zhuǎn)換 會(huì)把字符串1 轉(zhuǎn)換成數(shù)字型
console.log(Math.abs("fanfan")); //NaN
Math.max()--- 返回一組數(shù)中的最大值 (可以設(shè)置多個(gè)參數(shù),返回其中最大值,參數(shù)不可以是數(shù)組)
console.log(Math.max(1,4,8,35,"fanfan")); //NaN console.log(Math.max()); //-Infinity
Math.min()--- 返回一組數(shù)中的最小值 (可以同時(shí)設(shè)置多個(gè)參數(shù),與最大值效果一樣)
console.log(Math.min()); //Infinity
Math.sin(x)Math.cos(x)Math.tan(x)Math.pow(x,y)--- 返回x的y次冪
1.3 Date對(duì)象
用法一:空構(gòu)造函數(shù)
var d = new Date(); //如果沒有參數(shù) 返回當(dāng)前系統(tǒng)的當(dāng)前時(shí)間
用法二:傳入日期格式的字符串
var d = new Date("1988-8-8 8:8:8")
用法三: 傳入數(shù)字
var d = new Date(year, month[day,time,second]); //必須設(shè)置年和月 中括號(hào)內(nèi)的為選填項(xiàng)
注意:月份從0開始,0代表1月
var date1 = new Date(2019, 10, 01); //實(shí)際是2019年11月1日
獲取當(dāng)前時(shí)間的毫秒值:(距離1970 年 1 月 1 日的毫秒數(shù))
寫法一:
d.valueOf() d.getTime() // 推薦使用
//獲取當(dāng)前的毫秒值
var date = new Date();
console.log(date.valueOf());
console.log(date.getTime());
寫法二:(最常用)
var date1 = +new Date(); // +new Date() 返回的就是總的毫秒數(shù)
寫法三:
Date.now() //H5 新方法 有兼容性
2、Date中的方法
var d = new Date();--- 日期格式化方法d.getSeconds()//獲取秒d.getMinutes()//獲取分鐘d.getHours()//獲取小時(shí)d.getDay()//沒有參數(shù)時(shí) 返回當(dāng)前周幾 (0表示周日)0-6
獲取星期幾的方法:
var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
var day = date.getDay();
console.log(arr[day]);
d.getDate()//沒有參數(shù)時(shí) 返回當(dāng)前日-
d.getMonth()//沒有參數(shù)時(shí) 返回當(dāng)前月份 (從0開始)0-11 d.getFullYear()//沒有參數(shù)時(shí) 返回當(dāng)前年份d.toString();//轉(zhuǎn)化成字符串d.toDateString();//轉(zhuǎn)換成日期字符串-
d.toTimeString();//轉(zhuǎn)換成時(shí)間字符串 d.toLocaleDateString();//返回本地的日期格式 (不同瀏覽器不同效果)d.toLocaleTimeString();//返回本地的時(shí)間格式 (不同瀏覽器不同效果)
3、經(jīng)典案例:倒計(jì)時(shí)效果:
function countTime(time) {
var nowTime = +new Date();
console.log(nowTime);
var timer = +new Date(time);
console.log(timer);
var times = (timer - nowTime) / 1000;
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 + "時(shí)" + m + "分" + s + "秒"
}
var i = countTime("2021-11-11 18:00:00");
console.log(i);
4、Array數(shù)組對(duì)象
4.1 數(shù)組的創(chuàng)建
利用數(shù)組字面量:
var arr = [1,2,3];
利用new Array():
var arr1 = new Array(); //創(chuàng)建一個(gè)空的數(shù)組
var arr1 = new Array(2); //這個(gè)2 表示 數(shù)組的長(zhǎng)度為 2 里面有2個(gè)空的數(shù)組元素var arr1 = new Array(2,3); // 等價(jià)于 [2,3] 這樣寫表示 里面有2個(gè)數(shù)組元素 是 2和3
4.2 數(shù)組中的常用方法
判斷變量是不是一個(gè)數(shù)組:
Array.isArray(ary)//H5新增屬性 ie9以上版本支持- 參數(shù)
instanceof Array
toString() --- 把數(shù)組轉(zhuǎn)換為字符串,使用逗號(hào)分隔
valueOf() --- 返回?cái)?shù)組對(duì)象本身
ary.pop() [常用] --- 刪除數(shù)組中最后一個(gè)字,且會(huì)修改數(shù)組的長(zhǎng)度 注意:()內(nèi)不跟參數(shù)
ary.shift() --- 刪除數(shù)組中的第一個(gè)元素,修改數(shù)組的長(zhǎng)度 注意:()內(nèi)不跟參數(shù)
ary.push() [常用] --- 該方法有一個(gè)返回值,表示數(shù)組最新的長(zhǎng)度,該方法中可以設(shè)置多個(gè)參數(shù) 在數(shù)組末尾添加一個(gè)或者多個(gè)
ary.unshift() --- 在數(shù)組中最開始位置添加一個(gè)值
reverse() --- 翻轉(zhuǎn)數(shù)組
indexOf(content[,index]) --- 返回?cái)?shù)組元素索引的方法 從前查找,它只返回第一個(gè)滿足條件的索引號(hào)
lastIndexOf() --- 從數(shù)組的末尾開始找,如果找到,返回索引位置,如果沒有找到返回-1
join(分隔符) --- 將數(shù)組中的每一個(gè)元素通過(guò)一個(gè)字符鏈接到一塊(數(shù)組轉(zhuǎn)字符串) 改變字符間的分隔符, 默認(rèn)是","
排序:
arr.sort() --- 按照個(gè)位數(shù)字排序 sort(function(){})
arr.sort(function(a,b){
return a-b; //升序
})
arr.sort(function(a,b){
return b-a; //降序
})
concat() --- 把兩個(gè)數(shù)組拼接到一塊,返回一個(gè)新數(shù)組
slice(startindex, endindex) --- 從當(dāng)前數(shù)組中截取一個(gè)新的數(shù)組 第一個(gè)參數(shù)表示開始索引位置,第二個(gè)參數(shù)代表結(jié)束索引位置
splice(startindex, deletCont, options) --- 刪除或者替換數(shù)組中的某些值
第一個(gè)參數(shù)代表從哪開始刪除
第二個(gè)參數(shù)代表一共刪除幾個(gè)
第三個(gè)參數(shù)代表要替換的值
5、字符串String
1、charAt(index) --- 獲取指定位置處的字符
2、str[index] --- 獲取指定位置的字符 (H5中的方法)
3、charCodeAt(index) --- 返回相應(yīng)索引號(hào)的字符ASCII值 判斷用戶按下了哪個(gè)鍵
4、concat() --- 拼接字符串 等效于 +
5、slice(strat,end) --- 從指定位置開始,截取字符串到結(jié)束位置,end值取不
6、substring(start,end) --- 從指定位置開始,截取字符串到結(jié)束位置, end值取不到,start能取到
7、substr('截取的起始位置', '截取幾個(gè)字符') //從指定位置開始,截取length長(zhǎng)度個(gè)字符
8、indexOf(字符) --- 返回字符在字符串中的位置【首次】
9、lastIndexOf(字符) --- 從后往前找,只找第一個(gè)匹配的字符【尾次】
10、trim() --- 只能去除字符串前后空白
11、toLocaleUpperCase() //轉(zhuǎn)化為大寫
toLocaleLowerCase() //轉(zhuǎn)化為小寫12、replace(a,b) --- 用b替換a
split() --- 以一個(gè)分割符,將一個(gè)字符串串分割成一個(gè)數(shù)組(字符串轉(zhuǎn)數(shù)組)
到此這篇關(guān)于Javascript基礎(chǔ)知識(shí)中關(guān)于內(nèi)置對(duì)象的知識(shí)的文章就介紹到這了,更多相關(guān)Javascript內(nèi)置對(duì)象介紹內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- JavaScript內(nèi)置對(duì)象介紹
- JavaScript為內(nèi)置對(duì)象添加原型方法實(shí)現(xiàn)
- JavaScript常用內(nèi)置對(duì)象用法分析
- JavaScript內(nèi)置對(duì)象math,global功能與用法實(shí)例分析
- 詳解JavaScript的內(nèi)置對(duì)象
- 淺談js常用內(nèi)置方法和對(duì)象
- 深入理解JavaScript單體內(nèi)置對(duì)象
- javascript內(nèi)置對(duì)象操作詳解
- jsp內(nèi)置對(duì)象及方法詳細(xì)介紹
- JavaScript 內(nèi)置對(duì)象屬性及方法集合
- javascript對(duì)象之內(nèi)置對(duì)象Math使用方法
- JavaScript中的內(nèi)置對(duì)象介紹
相關(guān)文章
微信小程序 swiper組件構(gòu)建輪播圖的實(shí)例
這篇文章主要介紹了微信小程序 swiper組件構(gòu)建輪播圖的實(shí)例的相關(guān)資料,如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,需要的朋友可以參考下2017-09-09
JS精髓原型鏈繼承及構(gòu)造函數(shù)繼承問(wèn)題糾正
這篇文章主要為大家介紹了JS精髓原型鏈繼承及構(gòu)造函數(shù)繼承問(wèn)題糾正,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
字節(jié)飛書面試promise.all實(shí)現(xiàn)示例

