中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript內置對象的方法有哪些

發布時間:2022-01-05 09:35:53 來源:億速云 閱讀:178 作者:iii 欄目:web開發

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

JavaScript內置對象的方法有哪些

1、內置對象

  • JavaScript 中的對象分為3種:自定義對象內置對象瀏覽器對象

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

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

  • 內置對象最大的優點就是幫助我們快速開發 。

  • JavaScript 提供了多個內置對象:Math、 Date 、Array、String等

2、內置對象:Math 對象

2.1 Math 概述

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

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

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

案例:封裝自己的數學對象

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

<script>
    // 利用對象封裝自己的數學對象 里面有 PI 最大值和最小值
    var myMath = {
        PI: 3.141592653,
        max: function () {
            var max = arguments[0];
            for (var i = 1; i < arguments.length; i++) {
                if (arguments[i] > max) {
                    max = arguments[i];
                }
            }
            return max;
        },
        min: function () {
            var min = arguments[0];
            for (var i = 1; i < arguments.length; i++) {
                if (arguments[i] < min) {
                    min = arguments[i];
                }
            }
            return min;
        }
    }
    console.log(myMath.PI);
    console.log(myMath.max(1, 9, 20, 3, 21, 54, 211, 567, 80));
    console.log(myMath.min(1, 0, 90, -10, 82));</script>

2.2 隨機數方法 random()

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

如果想要得到兩個數之間的隨機整數,并且包括這兩個數在內,方法如下:

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

3、內置對象:日期對象

3.1 Date 概述

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

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

3.2 Date() 方法的使用

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

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

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

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

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

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

3.3 日期格式化

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

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

JavaScript內置對象的方法有哪些

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

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

我們經常利用總的毫秒數來計算時間,因為它更精確。

<script>
    // Date 對象是基于1970年1月1日(世界標準時間)起的毫秒數
    // 獲得Date 總的毫秒數(時間戳)  不是當前時間的毫秒數 而是距離1970年1月1日過了多少毫秒數
    // 1.通過 valueOf() 或者 getTime()
    var date = new Date();
    console.log(date.valueOf());   // 就是我們現在時間 距離1970.1.1 總的毫秒數
    console.log(date.getTime());
    // 2.簡單的寫法(實際開發中最常用的寫法)
    var date1 = +new Date();   // +new Date()  返回的就是總的毫秒數
    console.log(date1);
    // 3.H5 新增的 獲得總的毫秒數
    console.log(Date.now());</script>

3.5 案例:倒計時效果

案例分析

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

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

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

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

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

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

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

function coutDown(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 + '秒';}console.log(coutDown('2021-3-21 18:00:00'));

4、內置對象: 數組對象

4.1 數組對象的創建

創建數組對象的兩種方式

  • 字面量方式

  • new Array()

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

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

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

var arr3 = new Array(2, 3);  // 等價于[2, 3]  這樣寫表示里面有2個數組元素,是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 檢測是否為數組

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

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

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

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

4.3 數組常用的方法

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

方法名說明是否修改原數組
reverse()顛倒數組中元素的順序,無參數該方法會改變原來的數組,返回新數組
sort()對數組的元素進行排序該方法會改變原來的數組,返回新數組
<script>
    // 數組排序
    // 1.翻轉數組
    // reverse() 顛倒數組中元素的順序,無參數
    // 該方法會改變原來的數組  返回新數組
    var arr = ['pink', 'red', 'purple', 'blue'];
    arr.reverse();
    console.log(arr);  // ["blue", "purple", "red", "pink"]
    
    // 2.數組排序(冒泡排序)
    // sort()  對數組的元素進行排序
    // 該方法會改變原來的數組  返回新數組
    var arr1 = [1, 14, 7, 9, 5, 77, 1];
    arr1.sort(function (a, b) {     // 固定寫法
        return a - b;  // 升序的順序排列
        // return b - a;  // 降序
    });
    console.log(arr1);  // [1, 1, 5, 7, 9, 14, 77]</script>

(3)數組索引方法

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

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

(4)數組轉換為字符串

方法名說明返回值
toString()把數組轉換成字符串,逗號分隔每一項返回一個字符串
join(‘分隔符’)方法用于把數組中的所有元素轉換為一個字符串,不寫分隔符,默認逗號分隔返回一個字符串
// 數組轉換為字符串
// 1.toString() 將數組轉換成字符串,逗號分隔每一項,返回一個字符串
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內置對象的方法有哪些

 // 1.concat()  連接兩個或多個數組,不影響原數組   最后返回一個新數組
 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)  數組截取  返回被截取項目的新數組
 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(第幾個開始,要刪除個數)  數組刪除  返回被刪除項目的新數組,注意,這個會影響原數組
 console.log(arr3.splice(2, 5));  // [3, 4, 5, "red", "yellow"]

4.4 案例:數組去重

有一個數組[‘c’, ‘a’, ‘z’, ‘a’, ‘x’, ‘a’, ‘x’, ‘c’, ‘b’],要求去除數組中重復的元素。

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

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

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

 // 封裝一個去重的函數 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、內置對象:字符串對象

5.1 基本包裝類型

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

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

下面代碼有什么問題?

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

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

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

5.2 字符串的不可變

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

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

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

5.3 字符串對象常用的方法

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

(1)根據字符返回位置

方法名說明
indexOf(‘要查找的字符’,開始的位置)返回指定內容在原字符串中的位置,如果找不到就返回 -1 ,開始的位置是 index 索引號
lastIndexOf()從后往前找,只找第一個匹配的
 // 根據字符返回位置
 // 1.indexOf('要查找的字符', '開始的位置')
 // 返回指定內容在元字符串中的位置,如果找不到就返回-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 出現的位置以及次數。

思路:

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

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

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

代碼:

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出現的次數為:' + num);  // 5

(2)根據位置返回字符

方法名說明使用
charAt(index)返回指定位置的字符(index 字符串的索引號)str.charAt(0)
charCodeAt(index)獲取指定位置處字符的ASCII碼(inex 索引號)str.charCodeAt(0)
str[index]獲取指定位置處字符HTML5,IE8+支持,和 charAt()等效
 // 根據位置返回字符(重點)
 // 1.charAt(index) 根據索引號返回指定位置的字符
 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) 根據索引好返回相應位置的字符ASCII值, 目的:判斷用戶按下了哪個鍵
 console.log(str.charCodeAt(0));  // 97
 
 // 3.str[index] 根據索引號返回指定位置的字符 H5 新增的
 console.log(str[0]);  // "a"

案例:返回字符位置

判斷一個字符串 'abcoefoxyozzopp' 中出現次數最多的字符,并統計其次數。

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

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

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

代碼:

// 案例:返回字符位置// 有一個對象 來判斷是否有該屬性 對象['屬性名']var o1 = {
    age: 18}if (o1['age']) {
    console.log('里面有該屬性');} else {
    console.log('里面沒有該屬性');}// 判斷一個字符串 'abcoefoxyozzopp' 中出現次數最多的字符,并統計其次數。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('出現次數最多字符的為:' + ch, '次數為:' + max);

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

// 字符串操作方法(重點)
// 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 是取的字符串個數

(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() 方法用于切分字符串,它可以將字符串切分為數組。在切分完畢之后,返回的是一個新數組。

 // 4.split()方法用于切分字符串,它可以將字符串切分為數組。在切分完畢之后,返回的是一個新數組。
 // split('分隔符')  把字符轉換為數組  前面我們學過 join 把數組轉換為字符串
 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內置對象的方法有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

社会| 介休市| 铅山县| 南岸区| 隆回县| 株洲县| 宜昌市| 和龙市| 桃园县| 习水县| 桦南县| 民丰县| 周口市| 江华| 潢川县| 印江| 务川| 柳林县| 开封县| 慈利县| 彝良县| 吉隆县| 桓仁| 玛多县| 淳化县| 洛浦县| 云龙县| 开远市| 焦作市| 通榆县| 大安市| 台南市| 内黄县| 平顺县| 博白县| 五河县| 广南县| 三江| 从化市| 军事| 兰西县|