JavaScript的基本類型值-String類型
大致介紹
String類型用于表示由零或多個(gè)16位Unicode字符組成的字符序列,即字符串。在JavaScript中沒(méi)有單個(gè)的字符型,都是字符串。字符型就相當(dāng)于只包含一個(gè)字符的字符串。
引號(hào)
字符串可以由雙引號(hào)(“”)或單引號(hào)(‘')表示,但是要注意,如果是雙引號(hào)開始就要以雙引號(hào)結(jié)束,單雙引號(hào)是可以嵌套的
"hello"; //正確
'hello'; //正確
'hello"; //錯(cuò)誤
"hel'l'o"; //正確
轉(zhuǎn)義字符
String數(shù)據(jù)類型包含一些特殊的字符字面量,也叫轉(zhuǎn)義序列,用于表示非打印字符,或者具有其他用途的字符。
\0 空字節(jié)
\n 換行
\t 制表
\b 空格
\r 回車
\f 進(jìn)紙
\\ 斜杠
\' 單引號(hào)
\" 雙引號(hào)
\xnn 以十六進(jìn)制nn表示一個(gè)字符(n為0-f),如\x41表示'A'
\unnnn 以十六進(jìn)制nnnn表示一個(gè)Unicode字符(n為0-f),如\u03a3表示希臘字符ε
如果在非特殊轉(zhuǎn)移字符前使用反斜杠,則反斜杠會(huì)被忽略
'\a' //"a"
如果字符串需要包含反斜杠,則需要在反斜杠前面在多加一個(gè)反斜杠用來(lái)轉(zhuǎn)義
'\\a' //"\a"
特點(diǎn)
JavaScrit中的字符串是不可變的,也就是說(shuō),字符串一旦被創(chuàng)建,他們的值就不能改變。要改變某個(gè)變量保存的字符串,首先要銷毀原來(lái)的字符串,然后在用另一個(gè)包含新值得字符串填充改變量
例如:
vara lang = 'Java'; lang = lang + 'Script';
以上代碼的執(zhí)行過(guò)程:首先創(chuàng)建一個(gè)能容納10個(gè)字符的新字符串,然后在這個(gè)字符串中填充“Java”和“Script”,最后一步將原來(lái)的字符串“Java”和“Script”銷毀
字符串與數(shù)組
字符串可以被視為字符數(shù)組,因此可以使用數(shù)組的方括號(hào)運(yùn)算符,用來(lái)返回某個(gè)位置的字符(位置編號(hào)從0開始)。
var s = 'hello';
s[0] // "h"
s[1] // "e"
s[4] // "o"
// 直接對(duì)字符串使用方括號(hào)運(yùn)算符
'hello'[1] // "e"
如果方括號(hào)中的數(shù)字超過(guò)字符串的長(zhǎng)度,或者方括號(hào)中根本不是數(shù)字,則返回undefined。
'abc'[3] // undefined
'abc'[-1] // undefined
'abc'['x'] // undefined
但是,字符串與數(shù)組的相似性僅此而已。實(shí)際上,無(wú)法改變字符串之中的單個(gè)字符。
var s = 'hello'; delete s[0]; s // "hello" s[1] = 'a'; s // "hello" s[5] = '!'; s // "hello"
length屬性
length屬性返回字符串的長(zhǎng)度,這個(gè)屬性也是無(wú)法改變的
var s = 'hello'; s.length // 5 s.length = 3; s.length // 5
轉(zhuǎn)為字符串
要把一個(gè)值轉(zhuǎn)換為字符串有兩種方式:toString()和String()
注意:空字符串"" + 值,也可以將該值轉(zhuǎn)為字符串
toString()
幾乎每個(gè)值都有toString()方法,這個(gè)方法唯一要做的就是返回相應(yīng)值得字符串表現(xiàn)
注意:null和undefined沒(méi)有這個(gè)方法
undefined.toString();//錯(cuò)誤 null.toString();//錯(cuò)誤 true.toString();//'true' false.toString();//'false' 'abc'.toString();//'abc' 1.23.toString();//'1.23' ({}).toString();//[object Object] [1,2,3,4].toString();//'1,2,3,4' (new Date()).toString();//"Sun Jun 05 2016 10:04:53 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)" /ab/i.toString();//'/ab/i'
還可以通過(guò)指定基數(shù),來(lái)改變輸出的值(基數(shù)默認(rèn)是十進(jìn)制)
var num = 10; console.log(num.toString()); //10 console.log(num.toString(2)); ///1010 console.log(num.toString(8)); //12
String()
String()能將任何類型的值轉(zhuǎn)換為字符串,包括null和undefined
轉(zhuǎn)換規(guī)則:
1、如果值是null,則返回'null';如果值是undefined,則返回'undefined'
2、如果值不是null或undefined,則調(diào)用toString()方法并返回原始類型值
3、若使用toString()方法返回的是對(duì)象,則再調(diào)用valueOf()方法返回原始類型值,若使用valueOf()方法返回的是對(duì)象,會(huì)報(bào)錯(cuò)
String(null) //"null" String(undefined) //"undefined" String(true) ///"true" String({toString:function(){return 3}}); //3
以上所述是小編給大家介紹的JavaScript的基本類型值String類型,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
JAVA中方法的聲明及使用方式(繼承、多態(tài)、封裝)
這篇文章主要介紹了JAVA中方法的聲明及使用方式(繼承、多態(tài)、封裝),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02SSH框架網(wǎng)上商城項(xiàng)目第23戰(zhàn)之在線支付功能實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了SSH框架網(wǎng)上商城項(xiàng)目第23戰(zhàn)之在線支付功能實(shí)現(xiàn),感興趣的小伙伴們可以參考一下2016-06-06Java?Servlet異步請(qǐng)求開啟的簡(jiǎn)單步驟
Java servlet是大家公認(rèn)的服務(wù)器端web技術(shù)的標(biāo)準(zhǔn),包括jsp,jsf,和大量的web框架,soap,RESTful web service api,還有新聞供應(yīng),下面這篇文章主要給大家介紹了關(guān)于Java?Servlet異步請(qǐng)求開啟的簡(jiǎn)單步驟,需要的朋友可以參考下2022-02-02SpringCloud Bus消息總線的實(shí)現(xiàn)
消息總線是一種通信工具,可以在機(jī)器之間互相傳輸消息、文件等,這篇文章主要介紹了SpringCloud Bus消息總線的實(shí)現(xiàn),Spring cloud bus 通過(guò)輕量消息代理連接各個(gè)分布的節(jié)點(diǎn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05SpringMVC實(shí)現(xiàn)文件上傳下載的全過(guò)程
對(duì)于上傳功能,我們?cè)陧?xiàng)目中是經(jīng)常會(huì)用到的,比如用戶注冊(cè)的時(shí)候,上傳用戶頭像,這個(gè)時(shí)候就會(huì)使用到上傳的功能,而對(duì)于下載使用場(chǎng)景也很常見(jiàn),下面這篇文章主要給大家介紹了關(guān)于SpringMVC實(shí)現(xiàn)文件上傳下載的相關(guān)資料,需要的朋友可以參考下2022-01-01SpringBoot動(dòng)態(tài)數(shù)據(jù)源連接測(cè)試的操作詳解
這篇文章主要介紹了SpringBoot動(dòng)態(tài)數(shù)據(jù)源連接測(cè)試的操作步驟,文中通過(guò)代碼示例和圖文結(jié)合的方式給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-03-03Java的動(dòng)態(tài)代理和靜態(tài)代理及反射常用API詳解
這篇文章主要介紹了Java的動(dòng)態(tài)代理和靜態(tài)代理及反射常用API詳解,動(dòng)態(tài)代理是一種在運(yùn)行時(shí)動(dòng)態(tài)生成代理對(duì)象的技術(shù),它是一種設(shè)計(jì)模式,用于在不修改原始對(duì)象的情況下,通過(guò)代理對(duì)象來(lái)間接訪問(wèn)原始對(duì)象,并在訪問(wèn)前后執(zhí)行額外的操作,需要的朋友可以參考下2024-01-01