摘要:字符串的不可變性中的字符串是不可變的,也就是說,字符串一旦創(chuàng)建,它們的值就不能改變。
字符串的不可變性
ECMAScript 中的字符串是不可變的,也就是說,字符串一旦創(chuàng)建,它們的值就不能改變。要改變 某個(gè)變量保存的字符串,首先要銷毀原來的字符串,然后再用另一個(gè)包含新值的字符串填充該變量
通俗的說,操作字符串時(shí)并不會(huì)在原來的字符串上修改,而是重新開辟內(nèi)存,生成新的字符串,把變量重新指向新的字符串,原來的字符串不會(huì)馬上消失,要等待垃圾回收機(jī)制回收。
實(shí)現(xiàn)字符串拼接的幾種方式當(dāng)拼接的字符串?dāng)?shù)目較少時(shí),建議使用第一種
(1)用連接符“+”把要連接的字符串連
str = "a"; str += "b";
毫無疑問,這種方法是最便捷快速的,如果只連接100個(gè)以下的字符串建議用這種方法最方便
(2)以數(shù)組作為中介用 join 連接字符串
var arr=new Array(); arr.push(a); arr.push(b); var str=arr.join("");
w3school 網(wǎng)站介紹說這種方法要比第一種消耗更少的資源,速度也更快
(3)利用對(duì)象屬性來連接字符串
function stringConnect(){ this._str_ = new Array(); } stringConnect.prototype.append = function(a){ this._str_.push(a); } stringConnect.prototype.toString = function(){ return this._str_.join(); } var mystr = new stringConnect; mystr.append("a"); var str = mystr.toString();字符串的轉(zhuǎn)換
快速轉(zhuǎn)換:使用加號(hào)操作符把它與一個(gè)字符串("")加在一起 <==> String()
(1)toSting()
注意:undefined和null沒有toString()這個(gè)方法
var age = 11; var ageAsString = age.toString(); // 字符串"11" var found = true; var foundAsString = found.toString(); // 字符串"true"
指定基數(shù)后能夠返回指定進(jìn)制的字符串
var num = 10; alert(num.toString()); // "10" alert(num.toString(2)); // "1010" alert(num.toString(8)); // "12" alert(num.toString(10)); // "10" alert(num.toString(16)); // "a"
(2) String()
這個(gè)函數(shù)能夠?qū)⑷魏晤愋偷闹缔D(zhuǎn)換為字符串,String()函數(shù)遵循下列轉(zhuǎn)換規(guī)則:
如果值有 toString()方法,則調(diào)用該方法(沒有參數(shù))并返回相應(yīng)的結(jié)果;
如果值是 null,則返回"null";
如果值是 undefined,則返回"undefined"
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/84775.html
摘要:要比較相等性之前,不能將和轉(zhuǎn)換成其他任何值。如果有一個(gè)操作數(shù)是,則相等操作符返回,而不相等操作符返回。重要提示即使兩個(gè)操作數(shù)都是,相等操作符也返回因?yàn)榘凑找?guī)則,不等于。 關(guān)系運(yùn)算符 關(guān)系運(yùn)算符有小于()、小于等于(=)四種,它們都返回一個(gè)布爾值 《javascript高級(jí)程序設(shè)計(jì)》書中的規(guī)則是這樣描述運(yùn)算規(guī)則: (1)如果兩個(gè)操作數(shù)都是數(shù)值,則執(zhí)行數(shù)值比較; (2)如果兩個(gè)操作數(shù)都是字...
摘要:數(shù)據(jù)類型中有種簡(jiǎn)單數(shù)據(jù)類型也稱為基本數(shù)據(jù)類型和。在中非空字符串,非零數(shù)字,任意對(duì)象,都被認(rèn)為。而空字符串,和,,認(rèn)為是。用于表示整數(shù)和浮點(diǎn)數(shù)。標(biāo)識(shí)符由數(shù)字字母下劃線美元符組成,但首字母不能是數(shù)字。變量方法對(duì)象命名推薦駝峰法。 JavaScript語(yǔ)法 一.語(yǔ)法簡(jiǎn)介 因?yàn)镴avaScript語(yǔ)法和Java等語(yǔ)法非常類似。所以只是簡(jiǎn)單介紹一下。 大小寫 JavaScript是大小寫敏感的語(yǔ)...
摘要:一寫在前面最近重讀高級(jí)程序設(shè)計(jì),總結(jié)下來,查漏補(bǔ)缺。但這種影響是單向的修改命名參數(shù)不會(huì)改變中對(duì)應(yīng)的值。這是因?yàn)閷?duì)象的長(zhǎng)度是由傳入的參數(shù)個(gè)數(shù)決定的,不是由定義函數(shù)時(shí)的命名參數(shù)的個(gè)數(shù)決定的。實(shí)際改變會(huì)同步,改變也會(huì)同步 一、寫在前面 最近重讀《JavaScript高級(jí)程序設(shè)計(jì)》,總結(jié)下來,查漏補(bǔ)缺。 二、JS簡(jiǎn)介 2.1 JS組成 ECMAscript:以ECMA-262為基礎(chǔ)的語(yǔ)言,由...
摘要:用表示法表示的數(shù)值等于前面的數(shù)值乘以的指數(shù)次冪。下面是一個(gè)使用表示法表示數(shù)值的例子等于注意浮點(diǎn)類型精度控制的兩個(gè)方法是原型上實(shí)現(xiàn)的一個(gè)方法,其作用是對(duì)一個(gè)浮點(diǎn)數(shù)進(jìn)行四舍五入并保留固定小數(shù)位。 進(jìn)制表示 談到Number類型,不得不提進(jìn)制(此處不做過多介紹)八進(jìn)制字面值的第一位必須是零(0),然后是八進(jìn)制數(shù)字序列(0~7)十六進(jìn)制字面值的前兩位必須是 0x,后跟任何十六進(jìn)制數(shù)字(0~9 ...
摘要:寫在開頭本篇是小紅書筆記的第六篇,也許你會(huì)奇怪第六篇筆記才寫語(yǔ)法基礎(chǔ),筆者是不是穿越了??梢撇焦P者的文章中替換方式參考文檔高級(jí)程序設(shè)計(jì)作者以樂之名本文原創(chuàng),有不當(dāng)?shù)牡胤綒g迎指出。 showImg(https://segmentfault.com/img/bVblGMc?w=600&h=400); 寫在開頭 本篇是小紅書筆記的第六篇,也許你會(huì)奇怪第六篇筆記才寫語(yǔ)法基礎(chǔ),筆者是不是穿越了。...
閱讀 4136·2021-11-24 09:38
閱讀 1427·2021-10-19 11:42
閱讀 1985·2021-10-14 09:42
閱讀 2292·2019-08-30 15:44
閱讀 687·2019-08-30 14:04
閱讀 3039·2019-08-30 13:13
閱讀 2101·2019-08-30 12:51
閱讀 1126·2019-08-30 11:22