gpt4 book ai didi

Javascript 替代品

转载 作者:行者123 更新时间:2023-11-29 20:08:57 33 4
gpt4 key购买 nike

我最近发现了 crockford 的 Javascript supplant 函数。函数是这样的——

if (!String.prototype.supplant) {
String.prototype.supplant = function (o) {
return this.replace(/{([^{}]*)}/g,
function (a, b) {
var r = o[b];
return typeof r === 'string' || typeof r === 'number' ? r : a;
}
);
};
}

我需要了解这个功能的机制以及它究竟是如何工作的。我遇到过很多解释,但所有解释都倾向于通过引入使事情变得更糟的技术细节来使事情变得复杂。

试图寻找

1.regex解释在这里

2.函数(a,b)代码块的逻辑

3.return语句的使用

最佳答案

正如 Tomalak 所说,正则表达式中的空格不是微不足道的

  1. 正则表达式基本上匹配如下内容:{ ... }[^{}] 表示大括号中的内容可以是除大括号之外的任何内容。 * 表示内容的长度可以是零或任何数字。括号里面的部分是Parenthesized Substring Matches

  2. 该函数将字典作为 o 传递,并使用上面的正则表达式执行 replace。每当匹配时,将调用 replace 的回调函数。 a是整个匹配部分,b是“Parenthesized Substring Matches”对应的子匹配部分。回调函数在字典中查找b作为键,并返回对应的值

  3. return 语句表示如果r 的类型是字符串或数字,则返回r;否则返回a

您可以查看 example code由 Jared Farrish 提供,它非常清楚地展示了匹配和替换是如何工作的。

关于Javascript 替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10959131/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com