1. 程式人生 > >3.4.6

3.4.6

這樣的 asc div script 技術 c99 過程 tro scrip

字符串的特點

ECMAScript中的字符串是不可變的,也就是說,字符串一旦創建,它們的值就不能改變

例如:

var lang = "Java";

lang = lang + ‘Script‘;

我是這樣理解這個過程的:

技術分享圖片

當執行 var lang = "Java",會申請一片內存,這個內存裏保存的就是字符串Java,並把這片內存的地址賦值給變量 lang

當執行 lang = lang + ‘Script‘,會再申請一片新的內存用來存放字符串 ‘Script‘ ,然後再申請一片新的內存用來存放 lang + ‘Script’ 的計算結果,並把存放計算結果的那片內存地址賦值給變量 lang

所以字符串不可變,指的是一旦你申請了一片內存用來存放字符串後,從此以後那片內存地址上的內容你是無法修改的

lang = lang + ‘Script‘ 容易誤以為是這樣的,誤以為字符串的修改就是在原來那片內存上進行替換操作

技術分享圖片

3.4.6