真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JavaScript內(nèi)置對象的方法有哪些

這篇文章主要介紹“JavaScript內(nèi)置對象的方法有哪些”,在日常操作中,相信很多人在JavaScript內(nèi)置對象的方法有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”JavaScript內(nèi)置對象的方法有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

創(chuàng)新互聯(lián)公司從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目網(wǎng)站建設、成都網(wǎng)站建設網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元卡若做網(wǎng)站,已為上家服務,為卡若各地企業(yè)和個人服務,聯(lián)系電話:028-86922220

JavaScript內(nèi)置對象的方法有哪些

1、內(nèi)置對象

  • JavaScript 中的對象分為3種:自定義對象、內(nèi)置對象、 瀏覽器對象

  • 前面兩種對象是JS 基礎 內(nèi)容,屬于 ECMAScript; 第三個瀏覽器對象屬于我們JS 獨有的。

  • 內(nèi)置對象就是指 JS 語言自帶的一些對象,這些對象供開發(fā)者使用,并提供了一些常用的或是最基本而必要的功能(屬性和方法) 。

  • 內(nèi)置對象最大的優(yōu)點就是幫助我們快速開發(fā) 。

  • JavaScript 提供了多個內(nèi)置對象:Math、 Date 、Array、String等

2、內(nèi)置對象:Math 對象

2.1 Math 概述

Math 對象不是構造函數(shù),它具有數(shù)學常數(shù)和函數(shù)的屬性和方法。跟數(shù)學相關的運算(求絕對值,取整、最大值等)可以使用 Math 中的成員。

Math.PI // 圓周率
Math.floor() // 向下取整
Math.ceil() // 向上取整
Math.round() // 四舍五入版 就近取整 注意 -3.5 結果是 -3
Math.abs() // 絕對值
Math.max()/Math.min() // 求最大和最小值

注意:上面的方法必須帶括號。

案例:封裝自己的數(shù)學對象

利用對象封裝自己的數(shù)學對象,里面有 PI,最大值和最小值。

2.2 隨機數(shù)方法 random()

random() 方法可以隨機返回一個小數(shù),其取值范圍是 [0,1),左閉右開 0 <= x < 1 。

如果想要得到兩個數(shù)之間的隨機整數(shù),并且包括這兩個數(shù)在內(nèi),方法如下:

// 得到一個兩數(shù)之間的隨機整數(shù),包括兩個數(shù)在內(nèi)function getRandom(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;}

3、內(nèi)置對象:日期對象

3.1 Date 概述

  • Date 對象和 Math 對象不一樣,他是一個構造函數(shù),所以我們需要實例化后才能使用。

  • Date 實例用來處理日期和時間。

3.2 Date() 方法的使用

(1)獲取當前時間必須實例化

var now = new Date();console.log(now);

(2)Date() 構造函數(shù)的參數(shù)

如果括號里面有時間,就返回參數(shù)里面的時間。例如,日期格式字符串為‘2019-5-1’,可以寫成new Date(‘2019-5-1’) 或者 new Date(‘2019/5/1’)。

  • 如果 Date() 不寫參數(shù),就返回當前時間 。

  • 如果 Date() 里面寫參數(shù),就返回括號里面輸入的時間。

3.3 日期格式化

我們想要 2019-8-8 8:8:8 格式的日期,要怎么辦?

需要獲取日期指定的部分,所以我們要手動的得到這種格式。

JavaScript內(nèi)置對象的方法有哪些

3.4 獲取日期的總的毫秒形式

Date 對象是基于1970年1月1日(世界標準時間)起的毫秒數(shù)。

我們經(jīng)常利用總的毫秒數(shù)來計算時間,因為它更精確。

3.5 案例:倒計時效果

案例分析

(1)核心算法:輸入的時間減去現(xiàn)在的時間就是剩余的時間,即倒計時 ,但是不能拿著時分秒相減,比如 05 分減去25分,結果會是負數(shù)的。

(2)用時間戳來做。用戶輸入時間總的毫秒數(shù)減去現(xiàn)在時間的總的毫秒數(shù),得到的就是剩余時間的毫秒數(shù)。

(3)把剩余時間總的毫秒數(shù)轉換為天、時、分、秒 (時間戳轉換為時分秒)
轉換公式如下:

  • d = parseInt(總秒數(shù)/ 60 / 60 / 24); // 計算天數(shù)

  • h = parseInt(總秒數(shù)/ 60/ 60 % 24) // 計算小時

  • m = parseInt(總秒數(shù) / 60 % 60 ); // 計算分數(shù)

  • s = parseInt(總秒數(shù) % 60); // 計算當前秒數(shù)

function coutDown(time) {
    var nowTime = +new Date();   // 返回的是當前時間總的毫秒數(shù)
    var inputTime = +new Date(time);  // 返回的是用戶輸入時間總的毫秒數(shù)
    var times = (inputTime - nowTime) / 1000;  // times是剩余時間總的秒數(shù)(毫秒變
    var d = parseInt(times / 60 / 60 / 24);  // 計算天數(shù)
    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);    // 計算分數(shù)
    m = m < 10 ? '0' + m : m;
    var s = parseInt(times % 60);         // 計算當前秒數(shù) 
    s = s < 10 ? '0' + s : s;
    return d + '天' + h + '時' + m + '分' + s + '秒';}console.log(coutDown('2021-3-21 18:00:00'));

4、內(nèi)置對象: 數(shù)組對象

4.1 數(shù)組對象的創(chuàng)建

創(chuàng)建數(shù)組對象的兩種方式

  • 字面量方式

  • new Array()

// 創(chuàng)建數(shù)組的兩種方式
// 1.利用數(shù)組字面量
var arr = [1, 2, 3];
console.log(arr[0]);  // 1

// 2.利用new Array()
var arr1 = new Array();  // 創(chuàng)建一個空的數(shù)組
console.log(arr1);  // []

var arr2 = new Array(2);  // 這個2表示, 數(shù)組的長度為2, 里面有2個空的數(shù)組元素
console.log(arr2);   // [空 × 2]
console.log(arr2[0], arr2[1]);  // undefined undefined

var arr3 = new Array(2, 3);  // 等價于[2, 3]  這樣寫表示里面有2個數(shù)組元素,是2和3
console.log(arr3);  // [2, 3]

var arr4 = new Array(['a', 'b', 'c']);
console.log(arr4);   // [Array(3)]
console.log(arr4[0]); // ["a", "b", "c"]

4.2 檢測是否為數(shù)組

  • instanceof 運算符,可以判斷一個對象是否屬于某種類型。

  • Array.isArray() 用于判斷一個對象是否為數(shù)組,isArray() 是 HTML5 中提供的方法。

// 檢測是否為數(shù)組
// (1)instanceof 運算符,可以判斷一個對象是否屬于某種類型
var arr = [];
console.log(arr instanceof Array);   // true
var obj = {};
console.log(obj instanceof Array);   // false

//  (2)Array.isArray()用于判斷一個對象是否為數(shù)組,isArray() 是 HTML5 中提供的方法
console.log(Array.isArray(arr));   // true
console.log(Array.isArray(obj));   // false

4.3 數(shù)組常用的方法

(1)添加刪除數(shù)組元素的方法
JavaScript內(nèi)置對象的方法有哪些
(2)數(shù)組排序

方法名說明是否修改原數(shù)組
reverse()顛倒數(shù)組中元素的順序,無參數(shù)該方法會改變原來的數(shù)組,返回新數(shù)組
sort()對數(shù)組的元素進行排序該方法會改變原來的數(shù)組,返回新數(shù)組

(3)數(shù)組索引方法

方法名說明返回值
indexOf()數(shù)組中查找給定元素的第一個索引如果存在返回索引號,如果不存在,則返回-1
lastIndexOf()在數(shù)組中的最后一個索引如果存在返回索引號,如果不存在,則返回-1
// 返回數(shù)組元素索引方法  
// indexOf(數(shù)組元素)  作用就是返回該數(shù)組元素的索引號  從前面開始查找
// 數(shù)組中查找給定元素的第一個索引,如果存在返回索引號,如果不存在,則返回-1
var arr = ['red', 'green', 'blue', 'pink', 'blue'];
console.log(arr.indexOf('blue'));  // 2

// lastIndexOf(數(shù)組元素) 從后面開始查找,如果存在返回索引號,如果不存在,則返回-1
console.log(arr.lastIndexOf('blue'));  // 4

(4)數(shù)組轉換為字符串

方法名說明返回值
toString()把數(shù)組轉換成字符串,逗號分隔每一項返回一個字符串
join(‘分隔符’)方法用于把數(shù)組中的所有元素轉換為一個字符串,不寫分隔符,默認逗號分隔返回一個字符串
// 數(shù)組轉換為字符串
// 1.toString() 將數(shù)組轉換成字符串,逗號分隔每一項,返回一個字符串
var arr = [1, 2, 3];
console.log(arr.toString());  // "1,2,3"

// 2.join(分隔符)
var arr1 = ['green', 'blue', 'pink'];
console.log(arr1.join());  // "green,blue,pink"
console.log(arr1.join('-'));  // "green-blue-pink"
console.log(arr1.join('&'));  // "green&blue&pink"

(5)其他一些方法
JavaScript內(nèi)置對象的方法有哪些

 // 1.concat()  連接兩個或多個數(shù)組,不影響原數(shù)組   最后返回一個新數(shù)組
 var arr1 = [1, 2, 3];
 var arr2 = ['red', 'pink', 'blue'];
 console.log(arr1.concat(arr2));  // [1, 2, 3, "red", "pink", "blue"]
 
 // 2.slice(begin, end)  數(shù)組截取  返回被截取項目的新數(shù)組
 var arr3 = [1, 2, 3, 4, 5, 'red', 'yellow', 'blue'];
 console.log(arr2.slice(0, 1));  // ["red"]
 console.log(arr3.slice(2, 7));  // [3, 4, 5, "red", "yellow"]
 
 // 3.splice(第幾個開始,要刪除個數(shù))  數(shù)組刪除  返回被刪除項目的新數(shù)組,注意,這個會影響原數(shù)組
 console.log(arr3.splice(2, 5));  // [3, 4, 5, "red", "yellow"]

4.4 案例:數(shù)組去重

有一個數(shù)組[‘c’, ‘a(chǎn)’, ‘z’, ‘a(chǎn)’, ‘x’, ‘a(chǎn)’, ‘x’, ‘c’, ‘b’],要求去除數(shù)組中重復的元素。

  • 目標:把舊數(shù)組里面不重復的元素選取出來放到新數(shù)組中,重復的元素只保留一個,放到新數(shù)組中去重。

  • 核心算法:我們遍歷舊數(shù)組,然后拿著舊數(shù)組元素去查詢新數(shù)組,如果該元素在新數(shù)組里面沒有出現(xiàn)過,我們就添加,否則不添加。

  • 我們怎么知道該元素沒有存在? 利用 新數(shù)組.indexOf(數(shù)組元素) 如果返回-1,就說明新數(shù)組里面沒有改元素

 // 封裝一個去重的函數(shù) unique 獨一無二的
 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;
 }
 var arr1 = ['c', 'a', 'z', 'a', 'x', 'a', 'x', 'c', 'b'];
 var demo = unique(arr1);
 console.log(demo);  // ["c", "a", "z", "x", "b"]

5、內(nèi)置對象:字符串對象

5.1 基本包裝類型

為了方便操作基本數(shù)據(jù)類型,JavaScript 還提供了三個特殊的引用類型:String、Number和 Boolean。

基本包裝類型就是把簡單數(shù)據(jù)類型包裝成為復雜數(shù)據(jù)類型,這樣基本數(shù)據(jù)類型就有了屬性和方法。

下面代碼有什么問題?

var str = 'andy';console.log(str.length);  // 4

按道理基本數(shù)據(jù)類型是沒有屬性和方法的,而對象才有屬性和方法,但上面代碼卻可以執(zhí)行,這是因為 js 會把基本數(shù)據(jù)類型包裝為復雜數(shù)據(jù)類型,其執(zhí)行過程如下 :

// 1. 生成臨時變量,把簡單類型包裝為復雜數(shù)據(jù)類型var temp = new String('andy');
// 2. 賦值給我們聲明的字符變量str = temp;
// 3. 銷毀臨時變量temp = null;

5.2 字符串的不可變

字符串的不可變指的是里面的值不可變,雖然看上去可以改變內(nèi)容,但其實是地址變了,內(nèi)存中新開辟了一個內(nèi)存空間。

字符串的不可變的特點:重新給字符串賦值,會重新在內(nèi)存中開辟空間。

var str = 'abc';str = 'hello';// 當重新給 str 賦值的時候,常量'abc'不會被修改,依然在內(nèi)存中// 重新給字符串賦值,會重新在內(nèi)存中開辟空間,這個特點就是字符串的不可變// 由于字符串的不可變,在大量拼接字符串的時候會有效率問題var str = '';for (var i = 0; i < 100000; i++) {
	str += i;}console.log(str); // 這個結果需要花費大量時間來顯示,因為需要不斷的開辟新的空間

5.3 字符串對象常用的方法

字符串所有的方法,都不會修改字符串本身(字符串是不可變的),操作完成會返回一個新的字符串。

(1)根據(jù)字符返回位置

方法名說明
indexOf(‘要查找的字符’,開始的位置)返回指定內(nèi)容在原字符串中的位置,如果找不到就返回 -1 ,開始的位置是 index 索引號
lastIndexOf()從后往前找,只找第一個匹配的
 // 根據(jù)字符返回位置
 // 1.indexOf('要查找的字符', '開始的位置')
 // 返回指定內(nèi)容在元字符串中的位置,如果找不到就返回-1,開始的位置index的索引號
 var str = '改革春風吹滿地,春天來了';
 console.log(str.indexOf('春'));   // 2
 console.log(str.indexOf('春', 3));  // 從索引號是 3 的位置開始往后查找   // 8
 
 // 2.lastIndexOf()  從后往前找,只找第一個匹配的
 console.log(str.lastIndexOf('春'));  // 8
 console.log(str.lastIndexOf('春', 7));  // 2

案例:返回字符位置

查找字符串"oabcoefoxyozzopp"中所有 o 出現(xiàn)的位置以及次數(shù)。

思路:

  1. 核心算法:先查找第一個o出現(xiàn)的位置。

  2. 然后,只要indexOf 返回的結果不是 - 1 就繼續(xù)往后查找。

  3. 因為 indexOf 只能查找到第一個,所以后面的查找,利用第二個參數(shù),當前索引加1,從而繼續(xù)查找。

代碼:

var str = 'oabcoefoxyozzopp';var index = str.indexOf('o');var num = 0;while (index !== -1) {
    // console.log(index);
    num++;
    index = str.indexOf('o', index + 1);}console.log('o出現(xiàn)的次數(shù)為:' + num);  // 5

(2)根據(jù)位置返回字符

方法名說明使用
charAt(index)返回指定位置的字符(index 字符串的索引號)str.charAt(0)
charCodeAt(index)獲取指定位置處字符的ASCII碼(inex 索引號)str.charCodeAt(0)
str[index]獲取指定位置處字符HTML5,IE8+支持,和 charAt()等效
 // 根據(jù)位置返回字符(重點)
 // 1.charAt(index) 根據(jù)索引號返回指定位置的字符
 var str = 'andy';
 console.log(str.charAt(3));  // "y"
 
 // 遍歷所有的字符
 for (var i = 0; i < str.length; i++) {
     console.log(str.charAt(i));
 }
 
 // 2.charCodeAt(index) 根據(jù)索引好返回相應位置的字符ASCII值, 目的:判斷用戶按下了哪個鍵
 console.log(str.charCodeAt(0));  // 97
 
 // 3.str[index] 根據(jù)索引號返回指定位置的字符 H5 新增的
 console.log(str[0]);  // "a"

案例:返回字符位置

判斷一個字符串 'abcoefoxyozzopp' 中出現(xiàn)次數(shù)最多的字符,并統(tǒng)計其次數(shù)。

思路:
① 核心算法:利用 charAt()遍歷這個字符串。

② 把每個字符都存儲給對象, 如果對象沒有該屬性,就為1,如果存在了就 +1。

③ 遍歷對象,得到最大值和該字符。

代碼:

// 案例:返回字符位置// 有一個對象 來判斷是否有該屬性 對象['屬性名']var o1 = {
    age: 18}if (o1['age']) {
    console.log('里面有該屬性');} else {
    console.log('里面沒有該屬性');}// 判斷一個字符串 'abcoefoxyozzopp' 中出現(xiàn)次數(shù)最多的字符,并統(tǒng)計其次數(shù)。var str = 'abcoefoxyozzopp';var o = {};  // 聲明一個對象for (var i = 0; i < str.length; i++) {
    var chars = str.charAt(i);   // chars 是字符串的每個字符
    if (o[chars]) {    // o[chars] 得到的是屬性值
        o[chars]++;
    } else {
        o[chars] = 1;
    }}console.log(o);// 2.遍歷對象var max = 0;var ch = '';for (var k in o) {
    // k 得到的是 屬性名
    // o[k] 得到的是 屬性值
    if (o[k] > max) {
        max = o[k];
        ch = k;
    }}console.log('出現(xiàn)次數(shù)最多字符的為:' + ch, '次數(shù)為:' + max);

(3)字符串操作方法
JavaScript內(nèi)置對象的方法有哪些

// 字符串操作方法(重點)
// 1.concat('字符串1', '字符串2',....)  連接兩個或多個字符串,等效于+
var str = 'andy';
console.log(str.concat('red'));  // "andyred"
// 2.substr('截取的起始位置','截取幾個字符')  截取字符串
var str1 = '改革春風吹滿地';
console.log(str1.substr(2, 2));  // "春風"  第一個2 是索引號  第二個2 是取的字符串個數(shù)

(4)replace() 方法和 split() 方法

replace() 方法用于在字符串中用一些字符替換另一些字符。

其使用格式如下:

replace(被替換的字符串, 要替換為的字符串);
// 3.replace(被替換的字符串, 要替換為的字符串);  替換字符  它只會替換第一個字符
var str3 = 'andyandy';
console.log(str3.replace('a', 'b'));  // "bndyandy"
// 有一個字符串 'abcoefoxyozzopp' 要求把里面所有的 'o' 替換為*
var str4 = 'abcoefoxyozzopp';
while (str4.indexOf('o') !== -1) {
    str4 = str4.replace('o', '*');
}
console.log(str4);   // "abc*ef*xy*zz*pp"

split() 方法用于切分字符串,它可以將字符串切分為數(shù)組。在切分完畢之后,返回的是一個新數(shù)組。

 // 4.split()方法用于切分字符串,它可以將字符串切分為數(shù)組。在切分完畢之后,返回的是一個新數(shù)組。
 // split('分隔符')  把字符轉換為數(shù)組  前面我們學過 join 把數(shù)組轉換為字符串
 var str5 = 'red, pink, blue';
 console.log(str5.split(','));   //  ["red", " pink", " blue"]
 var str6 = 'red&pink&blue';
 console.log(str6.split('&'));   //  ["red", " pink", " blue"]

其他一些方法:

  • toUpperCase() // 轉換大寫

  • toLowerCase() // 轉換小寫

到此,關于“JavaScript內(nèi)置對象的方法有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
網(wǎng)頁名稱:JavaScript內(nèi)置對象的方法有哪些
本文來源:http://weahome.cn/article/gecgid.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部