国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

標(biāo)準(zhǔn)庫(kù)(三)包裝對(duì)象

Donne / 1660人閱讀

摘要:所謂包裝對(duì)象,指的是與數(shù)值字符串布爾值分別相對(duì)應(yīng)的三個(gè)原生對(duì)象。引擎自動(dòng)將其轉(zhuǎn)為包裝對(duì)象,在這個(gè)對(duì)象上調(diào)用屬性。調(diào)用結(jié)束后,這個(gè)臨時(shí)對(duì)象就會(huì)被銷毀自動(dòng)轉(zhuǎn)換生成的包裝對(duì)象是只讀的,無法修改。

所謂“包裝對(duì)象”,指的是與數(shù)值、字符串、布爾值分別相對(duì)應(yīng)的Number、String、Boolean三個(gè)原生對(duì)象。這三個(gè)原生對(duì)象可以把原始類型的值變成(包裝成)對(duì)象

var v1 = new Number(123);
var v2 = new String("abc");
var v3 = new Boolean(true);

typeof v1 // "object"
typeof v2 // "object"
typeof v3 // "object"

v1 === 123 // false
v2 === "abc" // false
v3 === true // false

目的
使得原始類型的值也有辦法調(diào)用自己的方法。

這三個(gè)對(duì)象作為構(gòu)造函數(shù)使用(帶有new)時(shí),可以將原始類型的值轉(zhuǎn)為對(duì)象;作為普通函數(shù)使用時(shí)(不帶有new),可以將任意類型的值,轉(zhuǎn)為原始類型的值

2.實(shí)例方法
三種包裝對(duì)象各自提供了許多實(shí)例方法,詳見后文。這里介紹兩種它們共同具有、從Object對(duì)象繼承的方法:valueOf()和toString()

2.1valueOf()
valueOf()方法返回包裝對(duì)象實(shí)例對(duì)應(yīng)的原始類型的值。

new Number(123).valueOf() // 123
new String("abc").valueOf() // "abc"
new Boolean(true).valueOf() // true
toString()

2.2toString()方法返回對(duì)應(yīng)的字符串形式。

new Number(123).toString() // "123"
new String("abc").toString() // "abc"
new Boolean(true).toString() // "true"

3原始類型與實(shí)例對(duì)象的自動(dòng)轉(zhuǎn)換
某些場(chǎng)合,原始類型的值會(huì)自動(dòng)當(dāng)作包裝對(duì)象調(diào)用,即調(diào)用包裝對(duì)象的屬性和方法。這時(shí),JavaScript 引擎會(huì)自動(dòng)將原始類型的值轉(zhuǎn)為包裝對(duì)象實(shí)例,并在使用后立刻銷毀實(shí)例。

比如,字符串可以調(diào)用length屬性,返回字符串的長(zhǎng)度。
var str = "abc";
str.length // 3

// 等同于
var strObj = new String(str)
// String {
// 0: "a", 1: "b", 2: "c", length: 3, [[PrimitiveValue]]: "abc"
// }
strObj.length // 3
上面代碼中,abc是一個(gè)字符串,本身不是對(duì)象,不能調(diào)用length屬性。JavaScript 引擎自動(dòng)將其轉(zhuǎn)為包裝對(duì)象,在這個(gè)對(duì)象上調(diào)用length屬性。調(diào)用結(jié)束后,這個(gè)臨時(shí)對(duì)象就會(huì)被銷毀

3.1自動(dòng)轉(zhuǎn)換生成的包裝對(duì)象是只讀的,無法修改。所以,字符串無法添加新屬性。

var s = "Hello World";
s.x = 123;
s.x // undefined
上面代碼為字符串s添加了一個(gè)x屬性,結(jié)果無效,總是返回undefined

3.2調(diào)用結(jié)束后,包裝對(duì)象實(shí)例會(huì)自動(dòng)銷毀。這意味著,下一次調(diào)用字符串的屬性時(shí),實(shí)際是調(diào)用一個(gè)新生成的對(duì)象,而不是上一次調(diào)用時(shí)生成的那個(gè)對(duì)象,所以取不到賦值在上一個(gè)對(duì)象的屬性。如果要為字符串添加屬性,只有在它的原型對(duì)象String.prototype上定義
4自定義方法

除了原生的實(shí)例方法,包裝對(duì)象還可以自定義方法和屬性,供原始類型的值直接調(diào)用。

比如,我們可以新增一個(gè)double方法,使得字符串和數(shù)字翻倍。

String.prototype.double = function () {
return this.valueOf() + this.valueOf();
};

"abc".double()
// abcabc

Number.prototype.double = function () {
return this.valueOf() + this.valueOf();
};

(123).double() // 246
上面代碼在String和Number這兩個(gè)對(duì)象的原型上面,分別自定義了一個(gè)方法,從而可以在所有實(shí)例對(duì)象上調(diào)用。注意,最后一張的123外面必須要加上圓括號(hào),否則后面的點(diǎn)運(yùn)算符(.)會(huì)被解釋成小數(shù)點(diǎn)。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/105894.html

相關(guān)文章

  • 標(biāo)準(zhǔn)庫(kù)包裝對(duì)象

    摘要:所謂包裝對(duì)象,指的是與數(shù)值字符串布爾值分別相對(duì)應(yīng)的三個(gè)原生對(duì)象。引擎自動(dòng)將其轉(zhuǎn)為包裝對(duì)象,在這個(gè)對(duì)象上調(diào)用屬性。調(diào)用結(jié)束后,這個(gè)臨時(shí)對(duì)象就會(huì)被銷毀自動(dòng)轉(zhuǎn)換生成的包裝對(duì)象是只讀的,無法修改。 所謂包裝對(duì)象,指的是與數(shù)值、字符串、布爾值分別相對(duì)應(yīng)的Number、String、Boolean三個(gè)原生對(duì)象。這三個(gè)原生對(duì)象可以把原始類型的值變成(包裝成)對(duì)象 var v1 = new Numbe...

    zhunjiee 評(píng)論0 收藏0
  • 標(biāo)準(zhǔn)庫(kù)包裝對(duì)象

    摘要:所謂包裝對(duì)象,指的是與數(shù)值字符串布爾值分別相對(duì)應(yīng)的三個(gè)原生對(duì)象。引擎自動(dòng)將其轉(zhuǎn)為包裝對(duì)象,在這個(gè)對(duì)象上調(diào)用屬性。調(diào)用結(jié)束后,這個(gè)臨時(shí)對(duì)象就會(huì)被銷毀自動(dòng)轉(zhuǎn)換生成的包裝對(duì)象是只讀的,無法修改。 所謂包裝對(duì)象,指的是與數(shù)值、字符串、布爾值分別相對(duì)應(yīng)的Number、String、Boolean三個(gè)原生對(duì)象。這三個(gè)原生對(duì)象可以把原始類型的值變成(包裝成)對(duì)象 var v1 = new Numbe...

    skinner 評(píng)論0 收藏0
  • 標(biāo)準(zhǔn)庫(kù)包裝對(duì)象

    摘要:所謂包裝對(duì)象,指的是與數(shù)值字符串布爾值分別相對(duì)應(yīng)的三個(gè)原生對(duì)象。引擎自動(dòng)將其轉(zhuǎn)為包裝對(duì)象,在這個(gè)對(duì)象上調(diào)用屬性。調(diào)用結(jié)束后,這個(gè)臨時(shí)對(duì)象就會(huì)被銷毀自動(dòng)轉(zhuǎn)換生成的包裝對(duì)象是只讀的,無法修改。 所謂包裝對(duì)象,指的是與數(shù)值、字符串、布爾值分別相對(duì)應(yīng)的Number、String、Boolean三個(gè)原生對(duì)象。這三個(gè)原生對(duì)象可以把原始類型的值變成(包裝成)對(duì)象 var v1 = new Numbe...

    impig33 評(píng)論0 收藏0
  • JavaScript標(biāo)準(zhǔn)庫(kù)系列——包裝對(duì)象(四)

    摘要:目錄導(dǎo)語(yǔ)包裝對(duì)象的理解三大包裝對(duì)象的知識(shí)點(diǎn)小結(jié)導(dǎo)語(yǔ)包裝對(duì)象是為了彌補(bǔ)基本數(shù)據(jù)類型的非對(duì)象特性而產(chǎn)生的,對(duì)于基本類型值而言,本來是不存在屬性和方法的,但是我們可以在使用字面量創(chuàng)建字符串時(shí),調(diào)用例如的方法,那么其內(nèi)在原理究竟是什么呢閱讀完本篇文 目錄 導(dǎo)語(yǔ) 1. 包裝對(duì)象的理解 2. 三大包裝對(duì)象的知識(shí)點(diǎn) 3. 小結(jié) 導(dǎo)語(yǔ) 包裝對(duì)象是為了彌補(bǔ)基本數(shù)據(jù)類型的非對(duì)象特性而產(chǎn)生的,對(duì)于基本類型...

    sean 評(píng)論0 收藏0
  • 標(biāo)準(zhǔn)庫(kù)(四)包裝對(duì)象二number

    摘要:對(duì)象概述作為構(gòu)造函數(shù),它主要用于生成布爾值的包裝對(duì)象實(shí)例。無輸出上面代碼的第一個(gè)例子之所以得到,是因?yàn)閷?duì)應(yīng)的包裝對(duì)象實(shí)例是一個(gè)對(duì)象,進(jìn)行邏輯運(yùn)算時(shí),被自動(dòng)轉(zhuǎn)化成布爾值因?yàn)樗袑?duì)象對(duì)應(yīng)的布爾值都是。 1.Boolean 對(duì) 象 1.1概述作為構(gòu)造函數(shù),它主要用于生成布爾值的包裝對(duì)象實(shí)例。 false對(duì)應(yīng)的包裝對(duì)象實(shí)例,布爾運(yùn)算結(jié)果也是true。 if (new Boolean(false...

    MAX_zuo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<