gpt4 book ai didi

javascript - 无法在 jsfiddle 中执行 Doug Crockford 的 deentityify 示例

转载 作者:搜寻专家 更新时间:2023-11-01 05:13:29 26 4
gpt4 key购买 nike

我正在尝试使用 jsfiddle 执行 Douglas Crockfords J-TBP 书中那个非常好的 deentityify 示例

String.method('deentityify', function() {
// The entity table. It maps entity names to
// characters.
var entity = {
quot: '"',
lt: '<',
gt: '>'
};
// Return the deentityify method.
return function() {
// This is the deentityify method. It calls the string
// replace method, looking for substrings that start
// with '&' and end with ';'. If the characters in
// between are in the entity table, then replace the
// entity with the character from the table. It uses
// a regular expression (Chapter 7).
return this.replace(/&([^&;]+);/g, function(a, b) {
var r = entity[b];
return typeof r === 'string' ? r : a;
});
};
}());

document.writeln('&lt;&quot;&gt;'.deentityify()); // <">

最佳答案

此代码片段依赖于一些糖,即 method 方法,您必须事先定义它。 (它在本书的前面描述过。)它的在线副本和解释在 the "Sugar" section of Crockford's article "Classical Inheritance in JavaScript" 中。 .它看起来像这样:

Function.prototype.method = function (name, func) {
this.prototype[name] = func;
return this;
};

您的 Fiddle 的更正版本包含以上内容,位于 http://jsfiddle.net/W9Ncd/。 .

关于javascript - 无法在 jsfiddle 中执行 Doug Crockford 的 deentityify 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13405010/

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