JavaScript之字元串

来源:http://www.cnblogs.com/barret-ma/archive/2016/04/29/5444775.html
-Advertisement-
Play Games

一、聲明方式 1. 直接賦值 2. 構造函數 這兩種有什麼區別呢? 第一種方式只是聲明瞭一個變數,使用typeof str得到的是'string'。而第二種方式則創建了一個String的包裝對象,typof str2得到的是’object'。 通過console.log輸出 str2中的[[Prim ...


一、聲明方式

1. 直接賦值

var str = 'hello javascript';

2. 構造函數

var str2 = new String('hello world');

這兩種有什麼區別呢?

第一種方式只是聲明瞭一個變數,使用typeof str得到的是'string'。而第二種方式則創建了一個String的包裝對象,typof str2得到的是’object'。 通過console.log輸出

console.log(str); // 'hello world'
console.log(st2); //String {0: "h", 1: "e", 2: "l", 3: "l", 4: "o", 5: " ", 6: "w", 7: "o", 8: "r", 9: "l", 10: "d", length: 11, [[PrimitiveValue]]: "hello world"}

str2中的[[PrimitiveValue]]的值是由str2的toString()方法而來的一個string值。

因為str2是一個對象,所以可以給str2設置屬性,而str不可以

str.a = 'barret'
console.log(str.a) //undefined

str2.a = 'barret' console.log(str2.a) //barret

 二、String方法

1. charCodeAt(index): 返回指定位置的Unicode編碼。

註釋:字元串中第一個字元的下標是 0。如果 index 是負數,或大於等於字元串的長度,則 charCodeAt() 返回 NaN。

var str = 'a'; 
str.charCodeAt(str[0]); // 97
str.charCodeAt(str[1]); //NaN

2. charAt(index): 返回指定位置的字元,javascript並沒有區別於字元串類型的字元類型,返回的只是長度為1的字元串。

註釋:字元串中第一個字元的下標是 0。如果 index 是負數,或大於等於字元串的長度,則 charAt() 返回 ''。

var str = 'a';
str.charAt(0); // 'a'
str.chartAt(1); // ''

3. fromCharCode(code1, code2, ..., codeN): 從Unicode返回字元。參數為一個或多個Unicode值, 用逗號分隔。如果參數為空,則返回空字元串。

註釋:fromCharCode為String的靜態方法,所以調用為String.fromCharCode(),而不是myStr.fromCharCode();

String.fromCharCode(97,98); // "ab"

4. slice(start[, end]): 方法返回字元串的片段。

start下標從0開始的string指定部分起始索引。如果start為負,則將start + length處理, 若相加後start仍未負,則按0處理。

end下標從0開始的string指定部分結束索引。如果start為負,則將end + length處理, 若相加後end仍未負,則按0處理。

var str = 'abcdef';
str.slice(0, 2); // 'ab'
str.slice(0, -1); // 'abcde'
str.slice(0); // 'abcdef'
str.slice(); // 'abcdef'
str.slice(-7, -9); // ''
str.slice(-7, 2); // 'ab' 等同於str.slice(0,2);

5. substring(start, end): 返回字元串的片段。

start指定子字元串的起始位置, 該索引從0開始起算。

end指定子字元串的結束位置, 該索引從0開始起算。

註釋:substring方法使用start和end兩者中較小值作為子符串起點。 如果start或end未NaN或負數則將其替換為0。

var str = 'abcdef';
str.substring(2, 4); // 'cd'  等同於str.substring(4, 2);
str.substring(-1, 2); // 'ab' 等同於str.substring(0, 2);

6. indexOf(substr, [startIndex]): 返回字元串在String對象內第一次出現在子字元串的位置。如果沒有找到,則返回-1。

substr要在String對象中查找的子字元串。

startIndex該整數值指出在String對象內開始查找的索引。

var str = 'abcdef';
str.indexOf('cd', 2); // 2
str.indexOf('cd', 3); // -1

7. lastIndexOf(substr, [startIndex]): 返回String對象中字元串最後出現的位置, 參數同indexOf。

var str = 'abcdefcdg'
str.lastIndexOf('cd', 6); // 6
str.lastIndexOf('cd', 5); //2

8. search(reExp): 返回與正則表達式查找內容匹配的第一個字元串的位置。

註釋:如果沒匹配到字元串, 則返回-1,search不執行全局匹配, 忽略標誌g和lastIndex屬性, 總返回第一個匹配。

var str = 'abcdef';
str.search('cd'); // 2  等同於str.search(/cd/);

9. concat(string1[,string2....]): 返回兩個或多個字元串的連接

var str1 = 'abc';
str1.concat('def'); // 'abcdef'

10. split(separator[, limit]): 將一個字元串分割為子字元串, 然後將結果作為字元串返回。

separator可以使字元串貨正則表達式對象。如果忽略,則返回包含整個字元串的單一元素數組。

limit用來限制返回數組中的元素個數。

var str = 'ab,cd,ef';
str.split(','); // ['ab', 'cd', 'ef']
str.split(',', 2); // ['ab', 'cd']

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Atitit.隔行換色 變色 css3 結構性偽類選擇器 1.1. css3隔行換色擴展閱讀 1 1.2. 結構偽選擇器 1 1.3. jQuery 選擇器2 1.1. css3隔行換色擴展閱讀 原理就是利用結構偽類選擇器 .list_div tr:nth-of-type(odd){backgrou ...
  • Atitit.jpg png格式差別以及解決jpg圖片不顯示的問題 圖片在pc上可以顯示,在Android上不能,img以及背景都不能顯示。。 Psd文件不能保存為png格式,只能jpg 原來是jpg文件是cmyk格式的。To rbg then nonk 作者:: ★(attilax)>>> 綽號: ...
  • 效果體驗:http://hovertree.com/texiao/jqimg/1/效果圖:代碼如下: 源碼下載:http://hovertree.com/h/bjaf/ljn1fwka.htm 轉自:http://hovertree.com/h/bjaf/flurt6nt.htm 特效庫:http: ...
  • ...
  • Bootstrap輸入框組 主要記住一個原則 創建輸入框的步驟 把首碼或尾碼元素放在一個帶有 class .input-group 的 <div> 中。 接著,在相同的 <div> 內,在 class 為 .input-group-addon 的 <span> 內放置額外的內容。 把該 <span> ...
  • 一、最終效果 需求:gift圖片的小動畫每隔2s執行一次。 需求就一句話,我們看一下實現過程。 二、實現過程 1、網頁結構 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> < ...
  • github:https://github.com/zhoushengmufc/iosselect webapp模仿ios下拉菜單 html下拉菜單select在安卓和IOS下表現不一樣,iosselect正是為統一下拉菜單樣式而生 我們以IOS下select的交互和樣式為藍本,開發了這一組件 先看 ...
  • 在網頁中,進度條的效果並不少見,如:平分系統、載入狀態等,進度條組件使用了css3的transition和animation屬性來完成一些特效,這些特效在IE9及IE9以下版本、Firefox的老版本中並不支持,Opera 12 不支持 animation 屬性。 進度條和其他獨立組件一樣,開發者可... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...