国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript包裝對象使用介紹

2024-05-06 15:51:20
字體:
供稿:網(wǎng)友
這篇文章主要介紹了JavaScript中包裝對象的一些知識點(diǎn),包括內(nèi)置對象等

JavaScript是面向?qū)ο蟮恼Z言,使用”.”操作符可以訪問對象的屬性和方法,而對于基本類型(null, undefined, bool, number, string)應(yīng)該是值類型,沒有屬性和方法,然而

復(fù)制代碼 代碼如下:


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

結(jié)果很簡單,但是仔細(xì)想想還真奇怪,string不是值類型嗎!怎么又有屬性又有方法的!

內(nèi)置對象

JavaScript有一系列內(nèi)置對象來創(chuàng)建語言的基本功能,具體看一下

Boolean

Boolean 對象表示兩個(gè)值:"true" 或 "false"。當(dāng)作為一個(gè)構(gòu)造函數(shù)(帶有運(yùn)算符 new)調(diào)用時(shí),Boolean() 將把它的參數(shù)轉(zhuǎn)換成一個(gè)布爾值,并且返回一個(gè)包含該值的 Boolean 對象。如果作為一個(gè)函數(shù)(不帶有運(yùn)算符 new)調(diào)用時(shí),Boolean() 只將把它的參數(shù)轉(zhuǎn)換成一個(gè)原始的布爾值,并且返回這個(gè)值,如果省略 value 參數(shù),或者設(shè)置為 0、-0、null、""、false、undefined 或 NaN,則該對象設(shè)置為 false。否則設(shè)置為 true(即使 value 參數(shù)是字符串 "false")。

Boolean 對象包括 toString 和 valueOf 方法, Boolean 最常用于在 條件語句中 true 或 false 值的簡單判斷,布爾值和條件語句的組合提供了一種使用 JavaScript 創(chuàng)建邏輯的方式。

Number

Number對象是一個(gè)數(shù)值包裝器,該對象包含幾個(gè)只讀屬性

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

•toExponential //以指數(shù)形式返回 數(shù)字的字符串表示
•toFixed //把Number四舍五入為指定小數(shù)位數(shù)的數(shù)字
•toPrecision //在對象的值超出指定位數(shù)時(shí)將其轉(zhuǎn)換為指數(shù)計(jì)數(shù)法
•toString //返回?cái)?shù)字的字符串表示
•valueOf //繼承自object
String

String 對象是文本值的包裝器。除了存儲(chǔ)文本,String 對象包含一個(gè)屬性和各種 方法來操作或收集有關(guān)文本的信息,String 對象不需要進(jìn)行實(shí)例化便能夠使用。

String 對象只有一個(gè)只讀的length屬性用于返回字符串的長度。String對象擁有很多方法

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

包裝對象

除了上面三個(gè)對象,JavaScript還擁有Date、Array、Math等內(nèi)置對象,這三個(gè)經(jīng)常顯示使用,所以非常熟悉,知道了內(nèi)置對象就可以看看上面例子是怎么回事兒了。

只要是引用了字符串的屬性和方法,JavaScript就會(huì)將字符串值通過new String(s)的方式轉(zhuǎn)為內(nèi)置對象String,一旦引用結(jié)束,這個(gè)對象就會(huì)銷毀。所以上面代碼在使用的實(shí)際上是String對象的length屬性和indexOf方法。

同樣的道理,數(shù)字和布爾值的處理也類似。,null和undefined沒有對應(yīng)對象。既然有對象生成,能不能這樣

復(fù)制代碼 代碼如下:


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

結(jié)果并沒有返回10,而是undefined!不是說好了是個(gè)對象嗎!正如剛才提到第二行代碼只是創(chuàng)建了一個(gè)臨時(shí)的String對象,隨即銷毀,第三行代碼又會(huì)創(chuàng)建一個(gè)新的臨時(shí)對象(這就是低版本IE頻繁處理字符串效率低的一個(gè)原因),自然沒有l(wèi)en屬性。這個(gè)創(chuàng)建的臨時(shí)對象就成為包裝對象。沒想到一行簡單的代碼還包含這么多姿勢。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 城固县| 白河县| 青河县| 会昌县| 连城县| 盘山县| 璧山县| 东兴市| 竹北市| 盖州市| 镇江市| 武乡县| 盘山县| 临泽县| 四平市| 社会| 蛟河市| 同江市| 水城县| 永嘉县| 永州市| 叶城县| 鄢陵县| 靖宇县| 绥江县| 高邑县| 东阳市| 大兴区| 山西省| 鄂伦春自治旗| 阿图什市| 景东| 姜堰市| 阿克苏市| 黄陵县| 伊春市| 台山市| 明星| 弥勒县| 霍城县| 达孜县|