1. 程式人生 > >你不曾知道的JavaScript 內建物件解讀

你不曾知道的JavaScript 內建物件解讀

摘要:JavaScript 是面向物件的程式語言 (OOP)。OOP 語言使我們有能力自定義物件和變數型別。(事實上,只是基於物件的,並不完全具備面向物件的語言的三大特性[封裝、繼承、多型])。在高階 JavaScript 的部分會講解如何建立自己的物件。現在,我們開始學習內建的 JavaScript 物件,以及如何使用它們。物件只是一種特殊的資料。物件擁有屬性和方法。

一、String(字串)物件

字串是 JavaScript 的一種基本的資料型別。需要注意的是,JavaScript 的字串是不可變的(immutable),String 類定義的方法都不能改變字串的內容。像String.toUpperCase() 這樣的方法,返回的是全新的字串,而不是修改原始字串。

建立一個字串物件有以下幾種方法:

方法一:var str = new String("Hello World");

方法二:var str = String("Hello World");

方法三:var str = "Hello World";

String 類定義了大量操作字串的方法,一般分為這樣幾類:查詢子字串、擷取,分割和拼接字串、匹配正則表示式、改變字串樣式等。

String 物件屬性

String 物件方法

二、Date(日期)物件

建立一個日期物件可以有這些方法

方法一:var d = new Date(ms);//ms代表從1970.1.1凌晨0點的毫秒數

方法二:var d = new Date(year,month[,day,hour,minute,second,millisecond]);

方法三:var d = new Date("localDateString");//這裡不是那麼的通用。2011/5/5格式相對通用

如果我們需要建立一個當前時間的日期物件。直接new Date()用無引數的建構函式即可。當然我們不能忽略這個new,前面提到String可以省略,然而這裡千萬不能這樣做。因為Date()的結果是瀏覽器實現的一個日期物件的toString返回的表示日期的字串。故此,這裡兩者不能混用。

Date 物件用於處理日期和時間,Date 物件會自動把當前日期和時間儲存為其初始值。

Date 物件的大部分方法是以下幾類:

getXXX:獲取 年、月、日、時、分、秒、等等。

setXXX:設定 年、月、日、時、分、秒、等等。

toXXXString:轉成一定格式的字串。

Date 物件屬性

方法 描述

三、Array(陣列)物件

陣列物件的作用是:使用單獨的變數名來儲存一系列的值。陣列的常用屬性是:length,代表了這個陣列中元素的個數。陣列的常用方法分這麼幾類:排序、新增和刪除元素、

拼接另一個數組、轉成字串。其中新增元素和移除元素的幾個方法還有模擬堆疊或佇列這些資料結構的作用。

讓我們先看 Array 物件的建立吧

第一種:var arr = new Array(10);

該方法在實際的使用當中並不那麼的實用,與很多編譯型語言不同, js 陣列的長度是可變的,不但增強了靈活性,還給我們有了更多好的選擇。

第二種:var arr = new Array("one","two","three");

使用 new 方式建立陣列的方法一般多為這兩者,當然也可以使用 new Array() 建立一個空的陣列物件。通常情況下,我推薦如下的方法

第三種:var arr = ["one","two","three"];

使用陣列的字面量方式建立一個數組物件,不但簡潔易讀,而且幾乎完全等價於使用 new 方式建立陣列物件的效果。

Array 物件屬性

Array 物件方法

四、Boolean(邏輯)物件

Boolean(邏輯)物件用於將非邏輯值轉換為邏輯值(true 或者 false)。

建立 Boolean 物件的語法:

new Boolean(value); //建構函式

Boolean(value); //轉換函式

在 JavaScript 中,布林值是一種基本的資料型別。Boolean 物件是一個將布林值打包的布林物件。Boolean 物件主要用於提供將布林值轉換成字串的 toString() 方法。當呼叫 toString() 方法將布林值轉換成字串時(通常是由 JavaScript 隱式地呼叫),JavaScript 會內在地將這個布林值轉換成一個臨時的 Boolean 物件,然後呼叫這個物件的 toString() 方法。

Boolean 物件屬性

Boolean 物件方法

五、JavaScript Math(算數)物件

Math 類的使用範圍相對狹窄,因為他作為一個數學計算的類,而非一個數據結構類,但是我們也看到了 Math.random 以及各種取整等常用方法。Math 通常是一個“靜態”類,因為沒有人會例項化一個 Math 物件,而是直接使用其“靜態”方法,有些資料直接稱它為 Math 物件,在這裡我們不妨稱它為“靜態”類吧。

首先我必須介紹 random 方法,因為他常用且太有用了。在製造隨機事件的時候他總是不可或缺,同樣在防止快取上他也顯得很有用處。 Math.random 方法返回的是一個 0到1 之間的開區間浮點數,即 (0,1) ,他的使用非常簡單,唯一需要注意的是,當我們取整的時候對 floor 和 ceil 方法的篩選時需要謹慎,前者使得 random 間接轉換為前閉後開區間,而後者則是前開後閉區間。假如我們現在需要一個取1-100的隨機數,那麼有如下的兩種常用解決方案

方法一:Math.ceil(Math.random*100);

方法二:Math.floor(Math.random*100)+1;

ceil 方法和 floor 方法都是用來取整的數學方法,根據單詞含義我們可以理解,前者是向上取整,而後者則是向下取整。當我們從一個連續的陣列物件中隨機選擇一個數組元素時,我們可以藉助 random 輕鬆的來幫我們挑選: ["ipad","iphone","ipod touch","ipod nano","macbook"][Math.ceil(Math.random()*4)]; 那麼當我們想要接近舍入時呢,我們可以使用 Math.round 方法,他在取整時根據數值進行靠近取整。比如 Math.round(5.4) 返回的是 5 。那麼如果 Math.round(5.5) 呢,答案是 6 而不是 5 。

Math 物件屬性

Math 物件方法

六、RegExp 物件

什麼是 RegExp?

RegExp 是正則表示式的縮寫。當您檢索某個文字時,可以使用一種模式來描述要檢索的內容。RegExp 就是這種模式。簡單的模式可以是一個單獨的字元。更復雜的模式包括了更多的字元,並可用於解析、格式檢查、替換等等。您可以規定字串中的檢索位置,以及要檢索的字元型別,等等。

七、JavaScript Global 物件

這是一個固有物件,目的是把所有全域性方法集中在一個物件中。Global 物件不能用 new 運算子建立。它在 Scripting 引擎被初始化時建立,並立即使其方法和屬性可用。

 

 

本次給大家推薦一個免費的學習群,裡面概括移動應用網站開發,css,html,webpack,vue node angular以及面試資源等。
對web開發技術感興趣的同學,歡迎加入Q群:943129070,不管你是小白還是大牛我都歡迎,還有大牛整理的一套高效率學習路線和教程與您免費分享,同時每天更新視訊資料。
最後,祝大家早日學有所成,拿到滿意offer,快速升職加薪,走上人生巔峰。