亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JS格式化字符串的兩種方法(反引號與String.prototype)

 更新時間:2023年06月19日 12:36:30   作者:COCO56(徐可可)  
本文一共介紹了兩種實現(xiàn)方式,使用反引號或自定義方法實現(xiàn),需要的朋友可以參考下

本文一共介紹了兩種實現(xiàn)方式:

1. 使用反引號實現(xiàn)(推薦)

ES6 模板字符串(Template String)是增強版的字符串,用反引號(`)標識,它可以當作普通字符串使用,也可以用來定義多行字符串,或者在字符串中嵌入變量。

語法格式:

`想要輸出的字符串……${變量名稱}想要輸出的字符串……${變量名稱}`

應(yīng)用實例:

 <script>
        window.onload = function() {
            var name = "徐可可";
            var age = 25;
            var sex = "男";
            console.log(`大家好,我叫${name},性別${sex},今年${age}歲了`);
        }
 </script>

2. 自定義方法實現(xiàn)

String.prototype 屬性表示 String原型對象。所有 String 的實例都繼承自 String.prototype. 任何String.prototype上的改變都會影響到所有的 String 實例。js擴展String.prototype.format字符串拼接的功能,首先是基礎(chǔ)功能的改造:

String.prototype.format = function(){
  if(arguments.length==0){
    return this;
  }
  for(var s=this, i=0; i<arguments.length; i++){
    s = s.replace(new RegExp("\\{"+i+"\\}","g"), arguments[i]);
  }
  return s;
};

然后就是調(diào)用了:

//方式1
var test = '我的{0}是{1}';
var result = test.format('ID','coco56');
//方式2
var test = '我的{description}是{name}';
var result = test.format({description:'ID',name:'coco56'});

下面是其它網(wǎng)友的補充

格式化字符串

使用的replace不適合多個重復

<!-- lang: js -->
String.prototype.format = function(args) {
    var result = this;
    if (arguments.length < 1) {
        return result;
    }
    var data = arguments;		//如果模板參數(shù)是數(shù)組
    if (arguments.length == 1 && typeof (args) == "object") {
        //如果模板參數(shù)是對象
        data = args;
    }
    for (var key in data) {
        var value = data[key];
        if (undefined != value) {
            result = result.replace("{" + key + "}", value);
        }
}
    return result;
}

版本2 使用了replaceAll

<!-- lang: js -->
/**
 * 替換所有匹配exp的字符串為指定字符串
 * @param exp 被替換部分的正則
 * @param newStr 替換成的字符串
 */
String.prototype.replaceAll = function (exp, newStr) {
	return this.replace(new RegExp(exp, "gm"), newStr);
};
/**
 * 原型:字符串格式化
 * @param args 格式化參數(shù)值
 */
String.prototype.format = function(args) {
	var result = this;
	if (arguments.length < 1) {
		return result;
	}
	var data = arguments; // 如果模板參數(shù)是數(shù)組
	if (arguments.length == 1 && typeof (args) == "object") {
		// 如果模板參數(shù)是對象
		data = args;
	}
	for ( var key in data) {
		var value = data[key];
		if (undefined != value) {
			result = result.replaceAll("\\{" + key + "\\}", value);
		}
	}
	return result;
}

使用方法:

<!-- lang: js -->
//兩種調(diào)用方式
var template1="我是{0},今年{1}了";
var result1=template1.format("loogn",22);
var template2="我是{name},今年{age}了";
var result2=template2.format({name:"loogn",age:22});
//兩個結(jié)果都是"我是loogn,今年22了"

對于版本2使用了正則表達式(replaceaAll),意味著當文本中出現(xiàn)多個替換位時,都可以被替換。 var template1=“我是{0},今年{1}了, lucy今年也{1}了”; var

//結(jié)果是"我是loogn,今年22了, lucy今年也22了"

到此這篇關(guān)于JS格式化字符串的兩種方法(反引號與String.prototype)的文章就介紹到這了,更多相關(guān)JS格式化字符串內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JS開發(fā)自己的類庫實例分析

    JS開發(fā)自己的類庫實例分析

    這篇文章主要介紹了JS開發(fā)自己的類庫,結(jié)合實例形式分析了javascript開發(fā)類庫的原理、組成及實現(xiàn)方法,需要的朋友可以參考下
    2019-08-08
  • javascript刪除數(shù)組重復元素的方法匯總

    javascript刪除數(shù)組重復元素的方法匯總

    這篇文章主要介紹了javascript刪除數(shù)組重復元素的方法,實例匯總了幾種常用的javascript刪除數(shù)組重復元素的技巧,需要的朋友可以參考下
    2015-06-06
  • JsRender實用入門教程

    JsRender實用入門教程

    這篇文章主要介紹了JsRender實用入門實例,包含了tag else使用、循環(huán)嵌套訪問父級數(shù)據(jù)等知識點,并提供了完整的實例下載,非常具有實用價值,需要的朋友可以參考下
    2014-10-10
  • js實現(xiàn)小星星游戲

    js實現(xiàn)小星星游戲

    這篇文章主要為大家詳細介紹了js實現(xiàn)小星星游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • 基于javascript實現(xiàn)移動端輪播圖效果

    基于javascript實現(xiàn)移動端輪播圖效果

    這篇文章主要為大家詳細介紹了基于javascript實現(xiàn)移動端輪播圖效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • 前端常用6種數(shù)據(jù)加密方式的使用詳細講解

    前端常用6種數(shù)據(jù)加密方式的使用詳細講解

    在前端開發(fā)中,常用的數(shù)據(jù)加密技術(shù)包括Base64編碼、MD5哈希、SHA-256哈希、AES對稱加密、RSA非對稱加密和HMAC消息認證碼,這些加密方式提供了不同層次的數(shù)據(jù)安全保護,適用于不同的安全需求和場景,需要的朋友可以參考下
    2024-09-09
  • webpack與SPA實踐之管理CSS等資源的方法

    webpack與SPA實踐之管理CSS等資源的方法

    本篇文章主要介紹了webpack與SPA實踐之管理CSS等資源的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • Javascript Bootstrap的網(wǎng)格系統(tǒng),導航欄和輪播詳解

    Javascript Bootstrap的網(wǎng)格系統(tǒng),導航欄和輪播詳解

    這篇文章主要為大家介紹了Javascript Bootstrap的網(wǎng)格系統(tǒng),導航欄和輪播,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • 微信小程序?qū)崿F(xiàn)上傳多個文件 超過10個

    微信小程序?qū)崿F(xiàn)上傳多個文件 超過10個

    這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)上傳多個文件,超過10個,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • H5實現(xiàn)中獎記錄逐行滾動切換效果

    H5實現(xiàn)中獎記錄逐行滾動切換效果

    這篇文章主要為大家詳細介紹了H5實現(xiàn)中獎記錄逐行滾動切換效果,利用定時器實現(xiàn)中獎記錄逐行展示,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03

最新評論