你不曾知道的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.round 方法,他在取整時根據數值進行靠近取整。比如 Math.round(5.4) 返回的是 5 。那麼如果 Math.round(5.5) 呢,答案是 6 而不是 5 。

Math 對象屬性

Math 對象方法

六、RegExp 對象

什麼是 RegExp?

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

七、JavaScript Global 對象

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

原文鏈接:https://www.jianshu.com/p/b1b...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章