日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

048_String对象

發布時間:2025/4/17 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 048_String对象 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. String對象

1.1. String是對原始字符串的包裝對象。

1.2. 創建String對象的語法:

var myStr = new String(s);

1.3. 參數s是要存儲在String對象中的字符串。

1.4. 當String()和運算符new一起作為構造函數使用時, 它返回一個新創建的String對象, 存放的是s的字符串表示。

2. String對象屬性

3. String對象方法

4. 使用字面量創建字符串和String對象創建字符串

4.1. 使用字符串字面量創建字符串和String對象創建字符串

var str1 = new String('hello china'); // 使用String對象創建字符串 var str2 = 'hello china'; // 使用字符串字面量創建字符串

4.2. 使用字面量創建字符串和String對象創建字符串的不同

4.2.1. 使用字面量創建的字符串是原始值, 儲存在棧中。

4.2.2. 使用String對象創建的字符串是對象(引用類型), 儲存在堆中。

4.2.3. 字符串字面量和String對象創建字符串的內存結構:

4.2.4. 使用對象創建字符串比使用字符串字面量創建字符串復雜的多(就是因為String對象多執行了一個String()構造函數), 執行效率低, 因此我們通常使用字符串字面量創建字符串。

4.2.5. 使用==運算符判斷使用字面量和String對象創建的相同值的字符串是否相等時, 結果是true, 因為字符串內容相同。

4.2.6. 使用===運算符判斷使用字面量和String對象創建的相同值的字符串是否相等時, 結果是false, 因為字符串雖然內容相同, 但類型不同, 一個是字符串, 一個是對象。

5. 字符串原始值可以使用String對象的屬性和方法

5.1. 字符串原始值, 比如"hello china", 無法擁有屬性和方法, 因為它們不是對象。

5.2. 但是通過JavaScript, String對象的屬性和方法也可用于原始字符串, 因為在執行屬性和方法時JavaScript將原始字符串視為偽對象。

5.3. 需要注意的是, JavaScript的字符串是不可變的(immutable), String類定義的方法都不能改變字符串的內容。像toUpperCase()這樣的方法, 返回的是全新的字符串, 而不是修改原始字符串。

6. String對象重寫了Object對象的constructor: ? String()屬性, 和toString()、valueOf()這兩個方法。

7. toString()方法

7.1. toString()方法返回字符串。

7.2. 語法

stringObject.toString()

8. valueOf()方法

8.1. valueOf()方法可返回String對象的原始值。

8.2. 語法

stringObject.valueOf()

8.3. String對象的toString()方法和valueOf()方法是一樣的。

9. 例子

9.1. 代碼

<!DOCTYPE html> <html lang="zh-CN"><head><meta charset="utf-8" /><title>String對象</title></head><body><script type="text/javascript">var str1 = new String('hello china');var str2 = 'hello china';document.write('str1 = ' + str1 + '<br />');document.write('str2 = ' + str2 + '<br />');document.write('(str1 == str2) = ' + (str1 == str2) + '<br />');document.write('(str1 === str2) = ' + (str1 === str2) + '<br />');document.write('(str1.valueOf() === str2) = ' + (str1.valueOf() === str2) + '<br />');document.write('(typeof str1) = ' + (typeof str1) + ', (typeof str1.valueOf()) = ' + (typeof str1.valueOf()) + '<br />');document.write('(typeof str2) = ' + (typeof str2) + ', (typeof str2.valueOf()) = ' + (typeof str2.valueOf()) + '<br />');document.write('(str1.toString() === str2) = ' + (str1.toString() === str2) + '<br />');document.write('(typeof str1) = ' + (typeof str1) + ', (typeof str1.toString()) = ' + (typeof str1.toString()) + '<br />');document.write('(typeof str2) = ' + (typeof str2) + ', (typeof str2.toString()) = ' + (typeof str2.toString()) + '<br />');</script></body> </html>

9.2. 效果圖

總結

以上是生活随笔為你收集整理的048_String对象的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。