0
我使用的原型在我的項目:的Javascript衝突在兩個文件中
NodeParser.prototype.getChildren = function(parentContainer) {
return flatten([].filter.call(parentContainer.node.childNodes, renderableNode).map(function(node) {
var container = [node.nodeType === Node.TEXT_NODE && !(node.parentNode instanceof SVGElement) ? new TextContainer(node, parentContainer) : new NodeContainer(node, parentContainer)].filter(nonIgnoredElement);
return node.nodeType === Node.ELEMENT_NODE && container.length && node.tagName !== "TEXTAREA" ? (container[0].isElementVisible() ? container.concat(this.getChildren(container[0])) : []) : container;
}, this));
};
我們有我們的客戶端的JavaScript文件添加到我們的項目。他們有這樣的代碼:
Array.prototype.map = function(fnc) {
//code block
}
在我們的代碼地圖,返回給他們Array.prototype.map
。我怎樣才能防止這種衝突?
這種衝突只發生在本地。在生產中不存在任何衝突問題。
「我怎麼能防止這種衝突?」告訴這些人停止覆蓋原生功能。 –
Map是數組類中的本地方法..覆蓋這將導致衝突..使用一些不同的名稱來添加Array類中的方法 –
@YeldarKurmangaliyev我知道,但作爲客戶端,我們不能說他們這樣的事情: ) – TheNone