sách gpt4 ai đã đi

Thay thế JavaScript

In lại 作者:行者123 更新时间:2023-11-30 05:52:38 hai mươi bốn 4
mua khóa gpt4 Nike

在下面的代码中,JavaScript 替换函数中的 alert(a) 将提醒匹配的字符串,在本例中,将是 {name} 和 {place}。

这按照文档 javascript docs 的描述工作,即替换方法中函数的第一个参数将是匹配的字符串。在下面的代码中,alert(b) 将警告“name”和“place”,但它们周围没有花括号。

这是为什么呢?它如何去除'b'的花括号?这是一把 fiddle http://jsfiddle.net/mjmitche/KeHdU/

此外,从文档中查看这个示例,

function replacer(match, p1, p2, p3, offset, string){
// p1 is nondigits, p2 digits, and p3 non-alphanumerics
return [p1, p2, p3].join(' - ');
};

下面替换函数的 function(a,b) 中的 'b' 代表这个例子中的哪些参数?

我无法理解的部分原因可能是我不确定 javascript 会做什么,例如,如果未使用最大数量的参数,则第二个参数。

Mã số

var subObject = {
name: "world",
place: "google"

};

var text = 'Hello, {name} welcome to {place}';


var replace = function (s, o) {
return s.replace(/\{([^{}]*)\}/g,
function (a, b) {
cảnh báo(a);
alert(b);
var r = o[b];

return typeof r === 'string' || typeof r === 'number' ? r : a;
}
);
};

var replacedText = replace(text, subObject);
alert(replacedText);

1 Câu trả lời

第一个参数是你的正则表达式匹配的整个字符串(捕获组无关紧要,所以它变成了{name}).

第二个、第三个、第四个等参数是您的捕获组,因为您只有一个,所以您的第二个参数变成了tên.

最后两个参数是匹配的位置和整个字符串。如果愿意,您可以在回调中省略这些参数。

这是您的代码的可读性稍强的版本,它说明了替换对象中不存在的属性:

var replace = function(string, object) {
return string.replace(/\{(.*?)\}/g, function(match, group) {
return group in object ? object[group] : match;
});
};

Thử nghiệm:http://jsfiddle.net/KeHdU/4/

关于JavaScript 替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13783074/

hai mươi bốn 4 0
Bài viết được đề xuất: javascript - Mobile Safari 选择 onclick 事件
Bài viết được đề xuất: java - Swing 文字看起来很糟糕
Bài viết được đề xuất: javascript - 从上一级目录加载本地 javascript 文件
Bài viết được đề xuất: javascript - HtmlUnit - 如何显示 iframe 内容
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com