成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

基本包裝類型

novo / 2344人閱讀

摘要:而自動(dòng)創(chuàng)建的基本包裝類型的對(duì)象,則只存在于一行代碼的執(zhí)行瞬間,然后立即銷毀。對(duì)基本包裝類型的實(shí)例調(diào)用會(huì)返回,而且所有基本包裝類型的對(duì)象在轉(zhuǎn)換為布爾類型時(shí)值都是。使用調(diào)用基本包裝類型的構(gòu)造函數(shù),與直接調(diào)用同名的轉(zhuǎn)型函數(shù)是不一樣的。

基本包裝類型

3個(gè)特殊的引用類型:Boolean、Number、String

var box = "Mr. Lee";        //基本類型
alert(box.substring(2));    //打印 . Lee
//對(duì)象.方法(參數(shù))這種寫法明顯是引用類型寫法
//索引0開始,從第二個(gè)位置開始開始截取到末尾
//是基本類型,但又是特殊的引用類型,叫做基本包裝類型
//因?yàn)樗梢哉{(diào)用系統(tǒng)內(nèi)置的方法

引用類型與基本包裝類型的主要區(qū)別就是對(duì)象的生存期。

為什么基本類型不能添加屬性?
原因:使用new操作符創(chuàng)建的引用類型實(shí)例,在執(zhí)行流離開當(dāng)前作用域之前都一直保存在內(nèi)存中。而自動(dòng)創(chuàng)建的基本包裝類型的對(duì)象,則只存在于一行代碼的執(zhí)行瞬間,然后立即銷毀。這意味著我們不能在運(yùn)行時(shí)為基本類型值添加屬性和方法。
基本包裝類型無法給自己創(chuàng)建屬性和方法,但是可以調(diào)用系統(tǒng)內(nèi)置的屬性和方法。

對(duì)基本包裝類型的實(shí)例調(diào)用typeof會(huì)返回object,而且所有基本包裝類型的對(duì)象在轉(zhuǎn)換為布爾類型時(shí)值都是true。
使用new調(diào)用基本包裝類型的構(gòu)造函數(shù),與直接調(diào)用同名的轉(zhuǎn)型函數(shù)是不一樣的。

var value = "25";
var number = Number(value);        //轉(zhuǎn)型函數(shù)
aleat(typeof number);            //"number"

var obj = new Number(value);    //構(gòu)造函數(shù)
aleat(typeof obj);                //"object"
Number類型

Number類型有一些靜態(tài)屬性(直接通過Number調(diào)用的屬性,而無須new運(yùn)算符)和方
法。
Number靜態(tài)屬性

屬性 描述
MAX_VALUE 表示最大數(shù)
MIN_VALUE 表示最小值
NaN 非數(shù)值
NEGATIVE_INFINITY 負(fù)無窮大,溢出返回該值
POSITIVE_INFINITY 無窮大,溢出返回該值
prototype 原型,用于增加新屬性和方法

例:

var box = 100;
alert(box.MAX_VALUE);        //沒有這種寫法,這種寫法叫做屬性
alert(Number.MAX_VALUE);    //這種寫法(類型.屬性)叫做靜態(tài)屬性

Number對(duì)象的方法

方法 描述
toString() 將數(shù)值轉(zhuǎn)化為字符串,并且可以轉(zhuǎn)換進(jìn)制
toLocaleString() 根據(jù)本地?cái)?shù)字格式轉(zhuǎn)換為字符串
toFixed() 將數(shù)字保留小數(shù)點(diǎn)后指定位數(shù)并轉(zhuǎn)化為字符串
toExponential() 將數(shù)字以指數(shù)形式表示,保留小數(shù)點(diǎn)后指定位數(shù)并轉(zhuǎn)化為字符串
toPrecision() 指數(shù)形式或點(diǎn)形式表述數(shù),保留小數(shù)點(diǎn)后面指定位數(shù)并轉(zhuǎn)字符串
String類型

String類型包含了三個(gè)屬性和大量的可用內(nèi)置方法。

String對(duì)象屬性

屬性 描述
length 返回字符串的字符長(zhǎng)度
constructor 返回創(chuàng)建String對(duì)象的函數(shù)
prototype 通過添加屬性和方法擴(kuò)展字符串定義

例:

var box = "Mr. Lee";
alert(box.constructor);    //打?。? String() { [native code] }

字符串方法

方法 描述
charAt(n) 返回指定索引位置的字符
charCodeAt(n) Unicode編碼形式返回指定索引位置的字符
fromCharCode(ascii) 靜態(tài)方法,輸出Ascii碼對(duì)應(yīng)值

例:

var box = "Mr. Lee";
alert(box.charAt(1));            //打印r,等于box[1]
alert(box.charCodeAt(4));        //打印76
方法 描述
concat() 拼接字符串
slice(n,m) 返回字符串nm之間位置的字符串,[n,m)
substring(n,m) 同上
substr(n,m) 返回字符串n開始的m個(gè)字母

slice()`substring()2`個(gè)參數(shù)指定的是字符串中最后一個(gè)字符的位置。
substr()2個(gè)參數(shù)是返回字符的個(gè)數(shù)。
相同點(diǎn):如果沒有第2個(gè)參數(shù),則一直獲取到最后。他們不會(huì)改變字符串本身的值。
例:

var box = "Mr. Lee";
alert(box.concat(" is ","teacher!"));//字符串拼接,打?。篗r. Lee is teacher!
alert(box.slice(4,6));        //截取字符串[4,6),打?。篖e
alert(box.substring(4,6));    //截取字符串[4,6),打印:Le
alert(box.substr(4,2));        //從索引4位置截取2個(gè)字符,打印:Le
alert(box.slice(4));        //如果沒有第2個(gè)參數(shù),則一直獲取到最后一位,打印:Lee
alert(box.substring(4));    //如果沒有第2個(gè)參數(shù),則一直獲取到最后一位,打?。篖ee
alert(box.substr(4));        //如果沒有第2個(gè)參數(shù),則一直獲取到最后一位,打?。篖ee
alert(box.slice(-2));        //7+(-2)=5,從索引5位置開始到最后,打印:ee
alert(box.substring(-2));    //參數(shù)為負(fù)數(shù),則返回全部字符串,打?。篗r. Lee
alert(box.substr(-2));        //7+(-2)=5,從索引5位置開始到最后,打?。篹e
alert(box.slice(2,-1));        //7+(-1)=6,[2,6),打?。? Le
alert(box.substring(2,-1));    //如果參數(shù)為負(fù)數(shù),直接0;如果第2個(gè)參數(shù)比第1個(gè)小,那么第2個(gè)參數(shù)提前,[0,2),打?。篗r
alert(box.substr(2,-1));    //第2個(gè)參數(shù)為負(fù)數(shù),直接0,[2,0),空,打?。嚎?
方法 描述
indexOf(str,n) 從初始位置搜索n1次出現(xiàn)的位置,并將搜索的索引值返回
lastIndexOf(str,n) 從末尾位置搜索n1次出現(xiàn)的位置,并將搜索的索引值返回

例:

var box = "Mr. Lee is Lee";
alert(box.indexOf("L"));        //從初始位置搜索L第一次出現(xiàn)的位置,打?。?
alert(box.lastIndexOf("L"));    //從末尾位置搜索L第一次出現(xiàn)的位置,打?。?1
alert(box.indexOf("L",5));        //從索引5位置向后搜索L第一次出現(xiàn)的位置,打印:11
alert(box.lastIndexOf("L",5));    //從索引5位置向前搜索L第一次出現(xiàn)的位置,打印:4
alert(box.indexOf(-1));            //找不到,打印:-1

indexOf應(yīng)用實(shí)例:

var box = "Lorem ipsum dolor sit amet,consectetur adipisicing elit";
var postion = new Array();
var pos = box.indexOf("e");
while(pos > -1){            //pos>-1,說明找到字符串
    postion.push(pos);        // 用push推入數(shù)組
    pos = box.indexOf("e", pos + 1);    //pos+1,從e后一個(gè)位置在開始尋找。
}
alert(postion);            //打印:3,24,31,34,51

字符串的模式匹配方法

方法 描述
match(pattern) 返回pattern中的子串或null
replace(pattern, replacement) replacement替換pattern
search(pattern) 返回字符串中pattern開始位置
split(pattern) 返回字符串按指定pattern拆分的數(shù)組

例:

var box = "Mr.Lee is Lee";
alert(box.match("L")); //找到L,打?。篖 否則打印:null
alert(box.search("L")); //找到L的位置,打?。?
alert(box.replace("L", "Q")); //把L替換成Q,打?。篗r.Qee is Lee
alert(box.split(" ")); //以空格分割成字符串,打?。篗r.Lee,is,Lee

localeCompare()方法,比較兩個(gè)字符串,并返回下列值中一個(gè):

如果比較的字符串首字母比變量的首字母排在前,返回1

如果比較的字符串首字母和變量的首字母排相等,返回0

如果比較的字符串首字母比變量的首字母排在后,返回-1

例:

var box = "yellow";
alert(box.localeCompare("brick"));    //打?。?
alert(box.localeCompare("yellow"));    //打印:0
alert(box.localeCompare("zoo"));    //打印:-1

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/94490.html

相關(guān)文章

  • js 中的基本類型,引用類型,基本包裝類型

    摘要:基本類型引用類型等,說白了就是對(duì)象。。。基本包裝類型如下基本類型毫無疑問上面的是一個(gè)基本類型,但是它卻能召喚出一個(gè)的方法,這是什么原因呢主要是因?yàn)樵诨绢愋椭?,有三個(gè)比較特殊的存在就是,這三個(gè)基本類型都有自己對(duì)應(yīng)的包裝對(duì)象。 基本類型:Undefined,Null,Boolean,Number,String 引用類型:Object,Array,Date,RegExp等,說白了就是對(duì)象。...

    kun_jian 評(píng)論0 收藏0
  • 輕松理解JS基本包裝對(duì)象

    摘要:今天來討論一下中的基本包裝對(duì)象也叫基本包裝類型,之前剛學(xué)到這里的時(shí)候,自己也是一頭霧水,不明白這個(gè)基本包裝對(duì)象到底是個(gè)什么鬼,后來找了很多資料,終于看清了它的真面目?;绢愋鸵妙愋偷?,說白了就是對(duì)象。。。 今天來討論一下JS中的基本包裝對(duì)象(也叫基本包裝類型),之前剛學(xué)到這里的時(shí)候,自己也是一頭霧水,不明白這個(gè)基本包裝對(duì)象到底是個(gè)什么鬼,后來找了很多資料,終于看清了它的真面目。首先呢...

    seal_de 評(píng)論0 收藏0
  • 14.java 基本數(shù)據(jù)類型包裝

    摘要:但是基本數(shù)據(jù)類型不是對(duì)象,不具備對(duì)象的特性不攜帶屬性沒有方法可調(diào)用。自動(dòng)裝箱即直接賦值將會(huì)比使用構(gòu)造方法的方式節(jié)省一塊堆內(nèi)存空間,并自動(dòng)入對(duì)象池。而手動(dòng)裝箱使用構(gòu)造方法會(huì)產(chǎn)生兩塊堆內(nèi)存,而且不會(huì)保存在對(duì)象池中。 概念 java在設(shè)計(jì)之初,有一個(gè)基本原則:一切皆對(duì)象。但是基本數(shù)據(jù)類型不是對(duì)象,不具備對(duì)象的特性——不攜帶屬性、沒有方法可調(diào)用。為了解決此類問題,Java為每種基本數(shù)據(jù)類型分別...

    yanbingyun1990 評(píng)論0 收藏0
  • 深入淺出 Java 中的包裝

    摘要:前陣子,我們分享了中的基本數(shù)據(jù)類型轉(zhuǎn)換這篇文章,對(duì)許多粉絲還是有帶來幫助的,今天講一下包裝類的的由來,及自動(dòng)裝箱拆箱的概念和原理。下面是基本數(shù)據(jù)類型與對(duì)應(yīng)的包裝類型。 showImg(https://segmentfault.com/img/remote/1460000016537706); 前陣子,我們分享了《Java中的基本數(shù)據(jù)類型轉(zhuǎn)換》這篇文章,對(duì)許多粉絲還是有帶來幫助的,今天講...

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

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

    sean 評(píng)論0 收藏0
  • js的基本類型、引用類型、包裝類型

    摘要:每當(dāng)讀取這個(gè)基本類型時(shí),后臺(tái)會(huì)創(chuàng)建一個(gè)對(duì)應(yīng)的基本包裝類型的對(duì)象。類型判斷主要是用來判斷基本數(shù)據(jù)類型返回類型新增所以只能用來判斷基本數(shù)據(jù)類型。引用類型基本包裝類型都會(huì)返回。 最近重溫JS高程設(shè)計(jì)以及與朋友的討論。決定趁熱打鐵記錄JS的各種類型,并做下深入總結(jié)。 js的幾種類型 基本類型:Boolean、String、Number、Null、Undefined 引用類型: 2.1 O...

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

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

0條評(píng)論

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