在javascript中,字串的值是不可變的,這意味著一旦字串被創建就不能被改變;原因:字串本身是一種經過語言封裝後的基礎類型,底層還是一個對象,這個對象自從創建之後其內容就不能改變,所以字串不變。
本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
在 JavaScript 中,字串 的值是 不可變的,這意味著一旦字串被建立就不能被改變。
例如,下面的程式碼:
var myStr = "Bob"; myStr[0] = "J";
是不會把變數 myStr 的值改成 「Job」 的,因為變數 myStr 是不可變的。
注意,這 並不 意味著 myStr 永遠不能被改變,只是字符串字面量 string literal 的各個字符不能被改變。
改變 myStr 中的唯一方法是重新給它賦一個值,就像這樣:
var myStr = "Bob"; myStr = "Job";
為什麼js中字串不可變?
其實字串本身就是經過語言封裝後的基礎型別(透過系統自帶的String建構函式new出來的),底層還是一個對象,不是簡單資料型別。這個物件自從創建之後其內容就不能改變,所以字串不變。
之類的操作只會產生新的字串對象,原來的字串物件不會改變。如果一個字串物件已經沒有被引用,就會被GC回收。
【相關推薦:javascript學習教學】
#以上是javascript中為什麼字串不可變的詳細內容。更多資訊請關注PHP中文網其他相關文章!