Eğer MDN gelen DOMParser örneğinde bakarsak:Yeni DOMParser örneklerinin oluşturulma noktası nedir?
var parser = new DOMParser();
var doc = parser.parseFromString(stringContainingXMLSource, "application/xml");
// returns a Document, but not a SVGDocument nor a HTMLDocument
parser = new DOMParser();
doc = parser.parseFromString(stringContainingXMLSource, "image/svg+xml");
// returns a SVGDocument, which also is a Document.
parser = new DOMParser();
doc = parser.parseFromString(stringContainingHTMLSource, "text/html");
// returns a HTMLDocument, which also is a Document.
Onlar new DOMParser
örnekleri oluştururken tutun. Ama neden? Bir ayrıştırıcı örneği yeterli olmaz mıydı? Çok fazla ayrıştırma yapan kod hakkında, yeni örnekler oluştururken performans avantajı var mı?
DÜZENLEME: İnsanlar örnek üzerinde asılı kalıyor. Sorumu daha iyi ifade etmek için: neden DOMParser
JSON
ve onun parse
yöntemine benzemiyor? Neden parseFromString
statik bir yöntem değil?
Bunu bir 'teşvik' olarak değil, 3 'ayrı' örnek olarak yorumluyorum. Her ayrıştırma işlemi için yeni bir ayrıştırıcı oluşturmak. –
Belki, ama genellikle bu konuda çok fazla kod görüyorum '(yeni DOMParser) .parseFromString'. Sanırım bu kolaylık içindir, ancak neden bu arabirime sahip olsa da, DOMParser örneğinizde tutulan herhangi bir durum var mı? Ben [spec] baktım (https://w3c.github.io/DOM-Parsing/#dom-domparser) biraz ama bunun için bir neden bulamadı. – kasbah
Şu anda hem DOMParser hem de XMLSerializer Nesnelerinin yalnızca bir yöntemi vardır, ancak bir kurucunun kullanılması gerekirse daha fazla eklemeye olanak tanır. – Kaiido