You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中将字符串插值模板存入变量并调用?

在JavaScript中实现“模板字符串变量像函数调用”的方法

当然可以实现类似效果,但原生模板字符串是立即求值的,直接写const myStr = http://website.com/${0}/${1}``会得到字符串http://website.com/0/1,没法当成函数调用。下面给你几种可行的实现方式:

方法一:用箭头函数返回模板字符串

直接把模板字符串包装成函数,参数对应插值内容:

const myStr = (a, b) => `http://website.com/${a}/${b}`;
console.log(myStr('abc','def'));
// 输出:http://website.com/abc/def

方法二:用剩余参数模拟索引式调用

如果想保留你示例里${0}、${1}的索引思路,可以用剩余参数接收所有传入的值,再通过索引取值:

const myStr = (...args) => `http://website.com/${args[0]}/${args[1]}`;
console.log(myStr('abc','def'));
// 输出:http://website.com/abc/def

方法三:用正则替换实现动态模板

如果需要更灵活的模板(比如模板字符串提前定义好),可以用正则匹配${n}格式的占位符,替换成对应参数:

// 先定义模板字符串
const template = 'http://website.com/${0}/${1}';
// 包装成调用函数
const myStr = (...args) => template.replace(/\${(\d+)}/g, (match, index) => args[index]);

console.log(myStr('abc','def'));
// 输出:http://website.com/abc/def

内容的提问来源于stack exchange,提问作者Raniere Soares

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 13:47:32