js 对象替换字符串占位符

本文介绍了一种在JavaScript中实现动态内容替换的方法,通过自定义String.prototype.format方法,简化了模板字符串中占位符的替换过程,提高了代码的可读性和维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在javascript中,我们常常会有这样的需求,异步加载数据,并以元素追加的方式追加到页面中。

在拿到数据后,如果在不使用其他第三方框架的情况下,则需要手动替换元素中的动态内容并拼接元素节点,写起来不仅麻烦,而且可读性非常差。

因此,我们可以自己来实现占位符替换功能,来快速的替换元素动态内容,话不多说,先上代码。

 

 

核心代码

 

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

 

 

测试代码

 

	var data = {
		name:"张三",
		age:23,
		sex:"男"
	}
	var text = "我叫{{name}},我今年{{age}}岁,我的性别是{{sex}}!".format(data);
	console.log(text);

 

 


运行结果

 

我叫张三,我今年23岁,我的性别是男!

 

 

小福利 - 微信小程序、小游戏源码分享:https://blog.youkuaiyun.com/jiang_2992/article/details/80648358

小福利 - 微信小程序、小游戏源码分享:https://blog.youkuaiyun.com/jiang_2992/article/details/80648358

 

 

 

### Python 中的字符串占位符 在 Python 中,字符串占位符用于创建带有动态插入变量或表达式的字符串。常见的占位符有 `%` 和 `.format()` 方法。 #### 使用百分号 (`%`) 进行格式化 这种传统方式使用 `%s`, `%d`, `%f` 等作为占位符来表示不同类型的值: ```python name = "Alice" age = 30 formatted_string = "Name: %s, Age: %d" % (name, age) print(formatted_string) # 输出 Name: Alice, Age: 30 ``` 此处展示了如何利用 `%` 操作符配合相应的类型说明符完成基本的数据填充[^1]。 #### 使用 `str.format()` 此方法提供更灵活的方式来进行复杂的字符串拼接操作: ```python greeting = "{} is {} years old.".format(name, age) print(greeting) # 输出 Alice is 30 years old. ``` 通过位置索引或者命名参数指定要替换的内容。 --- ### JavaScript ES6 模板字面量中的占位符 `${}` ES6 引入了一种新的字符串定义形式——模板字面量,它允许嵌入任意表达式而无需担心转义字符等问题。其特点是采用反引号 `` `...` `` 包裹整个字符串,并支持`${expression}` 形式的内联代码片段执行结果直接注入到最终输出里去[^2]。 ```javascript const name = 'Bob'; console.log(`Hello ${name}, how are you today?`); // 结果 Hello Bob, how are you today? ``` 这种方式不仅简化了多行文本处理还增强了可读性和实用性。 --- ### PHP 的 `sprintf()` 函数及其占位符 PHP 提供了一个强大的内置函数叫做 `sprintf()` ,专门用来构建带有一个或多個參數被替換後的新字符串。该函数接受一个格式化的字符串以及一系列待插入的实际数据项作爲參數传递给它[^3]。 ```php <?php $account = "qq1234"; $money = 100; $gold = 1000; $msg = sprintf("账号%s成功充值金额%d元,获得元宝%d个", $account, $money, $gold); echo $msg; // 输出 账号qq1234成功充值金额100元,获得元宝1000个 ?> ``` 这里可以看到每个 `%` 开头的部分代表不同的数据类型并依次对应后面的实参列表。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值