Javascript字元串拼接小技巧

来源:http://www.cnblogs.com/maple0x/archive/2016/06/02/5551655.html
-Advertisement-
Play Games

在Javascript中經常會遇到字元串的問題,但是如果要拼接的字元串過長就比較麻煩了。 如果是在一行的,可讀性差不說,如果要換行的,會直接報錯。 在此介紹幾種Javascript拼接字元串的技巧. 字元串相加(+) 利用反斜線拼接字元串 利用數組拼接字元串 利用數組的join方法,把數組轉成字元串 ...


在Javascript中經常會遇到字元串的問題,但是如果要拼接的字元串過長就比較麻煩了。

如果是在一行的,可讀性差不說,如果要換行的,會直接報錯。

在此介紹幾種Javascript拼接字元串的技巧.

字元串相加(+)

var items = '<li class="details">' +
            '<span>Hello world</span>' +
            '</li>';

利用反斜線拼接字元串

var items = '<li class="details">' \
            '<span>Hello world</span>' \
            '</li>';

利用數組拼接字元串

利用數組的join方法,把數組轉成字元串.

var empList = ['<li class="details">', '<span>Hello world</span>','</li>'].join("");

在數組的基礎上可以封裝一個StringBuffer的方法來完成字元串的拼接。

function StringBuffer(){
    this.buffer = [];
}
StringBuffer.prototype = {
    constructor: StringBuffer,
    append: function(str){
        this.buffer.push(str);
        return this;
    },
    toString: function(){
        return this.buffer.join('');
    }
};

ES6模板字元串

ES6中引入了一種新型的字面量語法,稱為模板字元串。

用反撇號`來代替原來的單引號或雙引號.

$('.warning').html(`
    <h1>Working!</h1>
    <p>迷糊餐廳</p>
    <p>區區一隻亞麻太</p>
`);

字元串中的換行、縮進、空格都會原樣輸出到新生成的字元串中。

如果想要瞭解字元串拼接的性能問題,推薦去看Nicholas C.Zakas的《高性能Javascript》一書


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

-Advertisement-
Play Games
更多相關文章
  • angular.js 從來沒有接觸過 現在大家一起來學習 ng-app 指令定義一個 AngularJS 應用程式。 ng-model 指令把元素值(比如輸入域的值)綁定到應用程式。 ng-bind 指令把應用程式變數 name 綁定到某個段落的 innerHTML。 ...
  • 1.創建一個添加按鈕,listeners事件中button的單擊事件,{ id:'button1', xtype : 'button', margin : '6', text : '添加', name : 'btn-add', iconCls: 'btn-add', listeners:{ clic ...
  • /* @@截取字元串長度,漢字算2個字元 @@return [string]+'...' */ var subString = function(str, len) { var newLength = 0; var newStr = ""; var chineseRegex = /[^\x00-\x ...
  • arguments對象並不是標準的Array類型的實例。arguments對象不能直接調用Array方法。 arguments對象的救星call方法 使得arguments可以品嘗到數組方法的美味,知道可以吃,下麵就是怎麼吃的問題了。不管怎麼吃,先吃一口試試。 感覺很棒的樣子,色香都具備了,拿筷子... ...
  • 一. 獲取THREE.js three.js的代碼托管在github上面,https://github.com/mrdoob/three.js/ 我們可以用git來獲取代碼,閑麻煩的話也可以直接下載zip文件。 二. 目錄結構 拿到代碼後先看下three.js的目錄結構 |-build |-cust ...
  • 終於有一點空閑時間整理一下一些小插件,最近經常用到優酷、騰訊的視頻播放器進行視頻播放,所以整理一下以後方便使用。優酷:優酷的視頻播放器介面連接為:http://open.youku.com/tools/ 裡面已經有教詳細的說明瞭。在這裡也做一些說明吧:導入js文件: 1 <script type=" ...
  • 架構CSS 在當前瀏覽器普遍支持的前提下,css被我們賦予了前所未有的使命。然而依賴css越多,樣式表文件就會變得越大越複雜。與此同時,文件維護和組織的考驗也隨之而來。 (曾幾何時)只要一個css文件就夠了——所有規則(rule)匯聚一堂,增刪改都很方便——可這種日子早已遠去。(現在)建立新網站時, ...
  • Using console.log() instead of alert() ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...