初學數(shù)據(jù)類型(2)

字符串

字符串默認只能寫在一行內(nèi)千劈,分成多行將會報錯梯码。
如果長字符串必須分成多行,可以在每一行的尾部使用反斜杠厨疙。

length屬性返回字符串的長度洲守,該屬性也是無法改變的。

btoa():任意值轉(zhuǎn)為 Base64 編碼
atob():Base64 編碼轉(zhuǎn)為原來的值
//不適合非 ASCII 碼的字符,若要使用必須先經(jīng)過轉(zhuǎn)碼

function b64Encode(str) {
  return btoa(encodeURIComponent(str));
}

function b64Decode(str) {
  return decodeURIComponent(atob(str));
}

b64Encode('你好') // "JUU0JUJEJUEwJUU1JUE1JUJE"
b64Decode('JUU0JUJEJUEwJUU1JUE1JUJE') // "你好"

轉(zhuǎn)義

反斜杠(\)在字符串內(nèi)有特殊含義梗醇,用來表示一些特殊字符知允,所以又稱為轉(zhuǎn)義符。

  • \0 :null(\u0000)
  • \f :換頁符(\u000C)
  • \n :換行符(\u000A)
  • \r :回車鍵(\u000D)
  • \t :制表符(\u0009)
  • ' :單引號(\u0027)
  • " :雙引號(\u0022)
  • \ :反斜杠(\u005C)

反斜杠的三種特殊用法:
1.反斜杠后面緊跟三個八進制數(shù)(000到377)叙谨,代表一個字符温鸽。
2.\x后面緊跟兩個十六進制數(shù)(00到FF),代表一個字符手负。
3.u后面緊跟四個十六進制數(shù)(0000到FFFF)涤垫,代表一個字符。

字符串可以被視為字符數(shù)組竟终,因此可以使用數(shù)組的方括號運算符雹姊,用來返回某個位置的字符(位置編號從0開始)。但是不能像數(shù)組一樣改變和增刪衡楞。

對象

對象就是一組“鍵值對”(key-value)的集合吱雏,是一種無序的復合數(shù)據(jù)集合。
對象的所有鍵名都是字符串瘾境。如果鍵名是數(shù)值歧杏,會被自動轉(zhuǎn)為字符串。如果不是純數(shù)字迷守,且不符合標識符的命名規(guī)范犬绒,則會報錯。

鏈式引用

對象屬性的值還是一個對象兑凿,就形成了鏈式引用凯力。
屬性可以動態(tài)創(chuàng)建,不必在對象聲明時就指定礼华。

讀取對象的屬性咐鹤,有兩種方法,一種是使用點運算符圣絮,還有一種是使用方括號運算符祈惶。如果使用方括號運算符,鍵名必須放在引號里面扮匠,否則會被當作變量處理捧请。

數(shù)值鍵名不能使用點運算符(因為會被當成小數(shù)點),只能使用方括號運算符棒搜。

查看一個對象本身的所有屬性疹蛉,可以使用Object.keys方法。

刪除對象屬性

delete命令用于刪除對象的屬性力麸,刪除成功后返回true可款。

delete obj.p // true

刪除一個不存在的屬性育韩,delete不報錯,而且返回true筑舅。
該屬性存在座慰,且不得刪除陨舱,delete命令會返回false翠拣。
delete命令只能刪除對象本身的屬性,無法刪除繼承的屬性游盲。

var obj = {};
delete obj.toString // true
obj.toString // function toString() { [native code] }

in 運算符

in運算符用于檢查對象是否包含某個屬性误墓,如果包含就返回true,否則返回false益缎。
in運算符的一個問題是谜慌,它不能識別哪些屬性是對象自身的,哪些屬性是繼承的莺奔。就像上面代碼中欣范,對象obj本身并沒有toString屬性,但是in運算符會返回true令哟,因為這個屬性是繼承的恼琼。
對象的hasOwnProperty方法判斷一下,是否為對象自身的屬性屏富。

ar obj = {};
if ('toString' in obj) {
  console.log(obj.hasOwnProperty('toString')) // false
}

for...in 循環(huán)

for...in循環(huán)用來遍歷一個對象的全部屬性晴竞。

for...in循環(huán)有兩個使用注意點:

  • 它遍歷的是對象所有可遍歷(enumerable)的屬性,會跳過不可遍歷的屬性狠半。
  • 它不僅遍歷對象自身的屬性噩死,還遍歷繼承的屬性。

對象obj繼承了toString屬性神年,該屬性不會被for...in循環(huán)遍歷到已维,因為它默認是“不可遍歷”的。

只想遍歷對象自身的屬性已日,所以使用for...in的時候,應該結(jié)合使用hasOwnProperty方法捂敌,在循環(huán)內(nèi)部判斷一下艾扮,某個屬性是否為對象自身的屬性。

var person = { name: '老張' };

for (var key in person) {
  if (person.hasOwnProperty(key)) {
    console.log(key);
  }
}// name

with 語句

with (對象) {
  語句;
}

作用是操作同一個對象的多個屬性時占婉,提供一些書寫的方便泡嘴。
如果with區(qū)塊內(nèi)部有變量的賦值操作,必須是當前對象已經(jīng)存在的屬性逆济,否則會創(chuàng)造一個當前作用域的全局變量酌予。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末磺箕,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子抛虫,更是在濱河造成了極大的恐慌松靡,老刑警劉巖,帶你破解...
    沈念sama閱讀 223,126評論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件建椰,死亡現(xiàn)場離奇詭異雕欺,居然都是意外死亡,警方通過查閱死者的電腦和手機棉姐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評論 3 400
  • 文/潘曉璐 我一進店門屠列,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人伞矩,你說我怎么就攤上這事笛洛。” “怎么了乃坤?”我有些...
    開封第一講書人閱讀 169,941評論 0 366
  • 文/不壞的土叔 我叫張陵苛让,是天一觀的道長。 經(jīng)常有香客問我湿诊,道長狱杰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,294評論 1 300
  • 正文 為了忘掉前任枫吧,我火速辦了婚禮浦旱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘九杂。我一直安慰自己颁湖,他們只是感情好,可當我...
    茶點故事閱讀 69,295評論 6 398
  • 文/花漫 我一把揭開白布例隆。 她就那樣靜靜地躺著甥捺,像睡著了一般。 火紅的嫁衣襯著肌膚如雪镀层。 梳的紋絲不亂的頭發(fā)上镰禾,一...
    開封第一講書人閱讀 52,874評論 1 314
  • 那天,我揣著相機與錄音唱逢,去河邊找鬼吴侦。 笑死,一個胖子當著我的面吹牛坞古,可吹牛的內(nèi)容都是我干的备韧。 我是一名探鬼主播,決...
    沈念sama閱讀 41,285評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼痪枫,長吁一口氣:“原來是場噩夢啊……” “哼织堂!你這毒婦竟也來了叠艳?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,249評論 0 277
  • 序言:老撾萬榮一對情侶失蹤易阳,失蹤者是張志新(化名)和其女友劉穎附较,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體潦俺,經(jīng)...
    沈念sama閱讀 46,760評論 1 321
  • 正文 獨居荒郊野嶺守林人離奇死亡拒课,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,840評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了黑竞。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捕发。...
    茶點故事閱讀 40,973評論 1 354
  • 序言:一個原本活蹦亂跳的男人離奇死亡疏旨,死狀恐怖很魂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情檐涝,我是刑警寧澤遏匆,帶...
    沈念sama閱讀 36,631評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站谁榜,受9級特大地震影響幅聘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜窃植,卻給世界環(huán)境...
    茶點故事閱讀 42,315評論 3 336
  • 文/蒙蒙 一帝蒿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧巷怜,春花似錦葛超、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至关带,卻和暖如春侥涵,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背宋雏。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評論 1 275
  • 我被黑心中介騙來泰國打工芜飘, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人磨总。 一個月前我還...
    沈念sama閱讀 49,431評論 3 379
  • 正文 我出身青樓嗦明,卻偏偏與公主長得像,于是被迫代替她去往敵國和親舍败。 傳聞我的和親對象是個殘疾皇子招狸,可洞房花燭夜當晚...
    茶點故事閱讀 45,982評論 2 361

推薦閱讀更多精彩內(nèi)容