從零開始學習前端JAVASCRIPT — 3、JavaScript基礎string字元串介紹

来源:https://www.cnblogs.com/witkeydu/archive/2018/01/24/8338489.html
-Advertisement-
Play Games

1:字元串 JS中的任何數據類型都可以當作對象來看。所以string既是基本數據類型,又是對象。 2:聲明字元串 var sStr = ‘字元串’; var oStr = new String(‘字元串’); 3:字元串屬性 1.length 計算字元串的長度(不區分中英文)。 2.construc ...


1:字元串

JS中的任何數據類型都可以當作對象來看。所以string既是基本數據類型,又是對象。

2:聲明字元串

var sStr = ‘字元串’;

var oStr = new String(‘字元串’);

3:字元串屬性

1.length

      計算字元串的長度(不區分中英文)。

2.constructor

對象的構造函數。

4:字元串方法

1.myStr.charAt(num)

返回在指定位置的字元。 

2.myStr.charCodeAt(num)

返回指定位置的字元的Unicode(是字元編碼的一種模式)編碼。

3.String.fromCharCode()

String的意思就是不能用自己定義的字元串名字來調用,例如定義一個變數字元串 var str="";只能用String來定義調用。接受一個或多個指定的Unicode值,然後返回一個或多個字元串。(把unicode編碼轉換為字元串)。

4.myStr.indexOf()

返回某個指定的字元串,在字元串中首次出現的位置。如果要檢索的字元串值沒有出現,則該方法返回 -1。第二個參數指定開始查找的起始位置。

5.myStr.lastIndexOf()

返回一個指定的字元串值最後出現的位置,如果要檢索的字元串值沒有出現,則該方法返回 -1。第二個參數指定開始查找的起始位置,只能指定正數。

6.myStr.match()

在字元串中檢索指定的值,返回的值是數組。如果匹配不到返回null。配合正則來用。

7.myStr.search()

返回出現的位置,查找不到返回-1。配合正則來用。

8.myStr.replace(“需替換的字元串”,“替換後的字元串”)

將字元串中的一些字元替換為另外一些字元。配合正則使用。

9.myStr.slice(start,end)

從指定的開始位置,到結束位置(不包括結束位置)的所有字元串。如果不指定結束位置,則從指定的開始位置,取到結尾。註意的是,myStr.slice() 與 myArr.slice() 相似。

10.myStr.substring(start,end)

從指定的開始位置,到結束位置(不包括)的所有字元串。如果不指定結束位置,則從指定的開始位置,取到結尾。

11.substr(start,length)

從指定的位置開始取指定長度的字元串。如果沒有指定長度,從指定開始的位置取到結尾。 ECMAscript 沒有對該方法進行標準化,因此反對使用它

如果substr的start指定為負數,則該參數聲明從字元串的尾部開始算起的位置。也就是說,-1 指字元串中最後一個字元,-2 指倒數第二個字元,以此類推。

——————————   slice(start,end)  vs  substring(start,end)   ————————————

slice參數可以是負數,如果是負數,從-1開始指的是字元串結尾。

substring參數是負數的時候,會自動轉換為0。

——————————————————————————————————————————————

12.split("分割位置",[指定的長度])

將一個字元串分割成數組。

13.toLowerCase()

用於把字元串轉換為小寫。

14.toUpperCase()

將字元串轉換為大寫。

5:ASCII碼和字元集

ASCII:American Standard Code for Information Interchange,美國信息交換標準代碼。

 

Unicode編碼:

Unicode(統一碼、萬國碼、單一碼)是電腦科學領域里的一項業界標準,包括字元集、編碼方案等。Unicode 是為瞭解決傳統的字元編碼方案的局限而產生的,它為每種語言中的每個字元設定了統一併且唯一的二進位編碼,以滿足跨語言、跨平臺進行文本轉換、處理的要求。 Unicode目前普遍採用的是UCS-2,它用兩個位元組來編碼一個字元。

如漢字"經"的編碼是0x7ECF,註意字元碼一般用十六進位來 表示,為了與十進位區分,十六進位以0x開頭,0x7ECF轉換成十進位 就是32463,UCS-2用兩個位元組來編碼字元,兩個位元組就是16位二進位, 2的16次方等於65536,所以UCS-2最多能編碼65536個字元。

GBK編碼:

GBK全稱《漢字內碼擴展規範》(GBK即“國標”、“擴展”漢語拼音的第一個字母,英文名稱:Chinese Internal Code Specification)。GBK 向下與GB2312編碼相容,向上支持 ISO 10646.1國際標準,是前者向後者過渡過程中的一個承上啟下的產物。

UTF-8編碼:

UTF-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字元編碼,又稱萬國碼。 UTF-8用1到4個位元組編碼UNICODE字元。用在網頁上可以同一頁面顯示中文簡體繁體及其它語言(如英文,日文,韓文)。

// 創建字元串

// var str = 'hello world';

// var str = new String('hello world!');


// 屬性
// console.log(str.length);
// console.log(str.constructor);

// 方法
// console.log(str.charAt(4));
// console.log(str.charCodeAt(4)); // 111

// console.log(String.fromCharCode(109));

// console.log(str.indexOf('l', 4));
// console.log(str.lastIndexOf('l', 8));

// console.log(str.match('ll'));
// console.log(str.search('ll'));
// console.log(str.replace('ll', '**'));

// console.log(str.slice(2,6));
// console.log(str.slice(-4,-2));

// console.log(str.substring(2, 6));
// console.log(str.substr(-5, 3));


/*var str = 'a=b&c=d&e=f';

// ['a=b', 'c=d', 'e=f']
var arr = str.split('&');

var obj = {};
arr.forEach(function (v) {
// ['a', 'b']
var temp = v.split('=');
// 'a'
var key = temp[0];
// 'b'
var val = temp[1];
// obj['a'] = 'b';
obj[key] = val;
});
console.log(obj);*/


/*var str = 'Hello World';

console.log(str.toUpperCase());
console.log(str.toLowerCase());*/


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

-Advertisement-
Play Games
更多相關文章
  • SQL的不同版本在Windows環境啟動配置方法不同,此處僅介紹 5.7.20的配置方法; 1、登錄mysql官網下載windows環境下的工具壓縮包 http://dev.mysql.com/downloads/mysql/ 個人電腦是64位的機器,所以此處演示選擇如下的版本 2、解壓到本地電腦的 ...
  • 1.創建函數 delimiter // create function function_name(形參名 數據類型) returns 數據類型 #必須指定返回的數據類型。 begin stmt; end // delimiter ; 2.刪除函數 drop function function_na ...
  • 我錄屏的方式是分別錄製音頻和視頻,最後合併成mp4格式,比較麻煩,因為網上完整的教程比較少,所以我打算寫一個完整版的,照著我的代碼寫完之後,至少是能夠實現功能的,而不是簡單的介紹下用法。 1既然是錄製視頻,我們應該有一個按鈕控制開始和結束。 2在錄製之前,需要先判斷一下Android系統的版本是否大 ...
  • 先上效果圖 灑豆子的效果,突發奇想,覺得這個動畫挺有意思的,就抽空寫了一個玩玩 繪製流程: 定義6個‘’豆子‘’,每個豆子有各自的屬性,大小,拋出的速度等,然後控制每個的方向和狀態,回彈效果使用差值器 BounceInterpolator package com.fragmentapp.view.b ...
  • 本文中我們將講解一下App的長連接實現。一般而言長連接已經是App的標配了,推送功能的實現基礎就是長連接,當然了我們也可以通過輪訓操作實現推送功能,但是輪訓一般及時性比較差,而且網路消耗與電量銷毀比較多,因此一般推送功能都是通過長連接實現的。 那麼如何實現長連接呢?現在一般有這麼幾種實現方式: 使用 ...
  • Genymotion是一款非常好用的虛擬機,利用它可以在window、Liunx或MAC系統上實現Android的模似器。對於開發人員來說,有了Android模似器,就可以在電腦上實時調試安卓app,而不用外接手機設置,非常方便。 現在我們開始安裝一個試下。 1.保證CPU是否支持虛擬化技術。 我們 ...
  • 最近發現css遺忘了很多,原因在於平時很少用到一些樣式,現記錄一些平時工作中使用頻率比較少的屬性以備查看。 1.文本屬性 首行文本縮進,針對於塊級元素,text-indent 可以使用所有長度單位,包括百分比值。百分比是相對於父級元素設置的。 文本對齊屬性值中有個justify是兩端對齊,之前用的比 ...
  • 簡介 前面寫了一篇文章講解了position常用的幾個屬性:《CSS 屬性之 position講解》一般都知道下麵幾個常用的: 在https://developer.mozilla.org/zh-CN/docs/Web/CSS/position還說了下麵這三個值: 估計大部分都沒有用過positio ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...