JavaScript封裝對象使用介紹_javascript技巧

來源:互聯網
上載者:User

JavaScript是物件導向的語言,使用”.”操作符可以訪問對象的屬性和方法,而對於基本類型(null, undefined, bool, number, string)應該是實值型別,沒有屬性和方法,然而

複製代碼 代碼如下:

var s='this is a string';
alert(s.length);
alert(s.indexOf('is'));

結果很簡單,但是仔細想想還真奇怪,string不是實值型別嗎!怎麼又有屬性又有方法的!

內建對象

JavaScript有一系列內建對象來建立語言的準系統,具體看一下

Boolean

Boolean 對象表示兩個值:"true" 或 "false"。當作為一個建構函式(帶有運算子 new)調用時,Boolean() 將把它的參數轉換成一個布爾值,並且返回一個包含該值的 Boolean 對象。如果作為一個函數(不帶有運算子 new)調用時,Boolean() 只將把它的參數轉換成一個原始的布爾值,並且返回這個值,如果省略 value 參數,或者設定為 0、-0、null、""、false、undefined 或 NaN,則該對象設定為 false。否則設定為 true(即使 value 參數是字串 "false")。

Boolean 對象包括 toString 和 valueOf 方法, Boolean 最常用於在 條件陳述式中 true 或 false 值的簡單判斷,布爾值和條件陳述式的組合提供了一種使用 JavaScript 建立邏輯的方式。

Number

Number對象是一個數值封裝器,該對象包含幾個唯讀屬性

•MAX_VALUE:1.7976931348623157e+308 //JavaScript能夠處理的最大數
•MIN_VALUE:5e-324 //JavaScript能夠處理的最小數
•NEGATIVE_INFINITY:-Infiny //負無窮
•POSITIVE_INFINITY:Infinity //正無窮
•NaN:NaN //非數字
Number 對象還有一些方法,可以用這些方法對數值進行格式化或進行轉換

•toExponential //以指數形式返回 數位字串表示
•toFixed //把Number四捨五入為指定小數位元的數字
•toPrecision //在對象的值超出指定位元時將其轉換為指數計數法
•toString //返回數位字串表示
•valueOf //繼承自object
String

String 對象是文本值的封裝器。除了儲存文本,String 對象包含一個屬性和各種 方法來操作或收集有關文本的資訊,String 對象不需要進行執行個體化便能夠使用。

String 對象只有一個唯讀length屬性用於返回字串的長度。String對象擁有很多方法

•charAt
•charCodeAt
•concat
•fromCharCode
•indexOf
•lastIndexOf
•match
•replace
•search
•slice
•split
•substr
•substring
•toLowerCase
•toUpperCase

封裝對象

除了上面三個對象,JavaScript還擁有Date、Array、Math等內建對象,這三個經常顯示使用,所以非常熟悉,知道了內建對象就可以看看上面例子是怎麼回事兒了。

只要是引用了字串的屬性和方法,JavaScript就會將字串值通過new String(s)的方式轉為內建對象String,一旦引用結束,這個對象就會銷毀。所以上面代碼在使用的實際上是String對象的length屬性和indexOf方法。

同樣的道理,數字和布爾值的處理也類似。,null和undefined沒有對應對象。既然有對象產生,能不能這樣

複製代碼 代碼如下:

var s='this is a string';
s.len=10;
alert(s.len);

結果並沒有返回10,而是undefined!不是說好了是個對象嗎!正如剛才提到第二行代碼只是建立了一個臨時的String對象,隨即銷毀,第三行代碼又會建立一個新的臨時對象(這就是低版本IE頻繁處理字串效率低的一個原因),自然沒有len屬性。這個建立的臨時對象就成為封裝對象。沒想到一行簡單的代碼還包含這麼多姿勢。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.