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