svnno****@sourc*****
svnno****@sourc*****
2011年 3月 23日 (水) 23:21:16 JST
Revision: 2501
http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2501
Author: dhrname
Date: 2011-03-23 23:21:16 +0900 (Wed, 23 Mar 2011)
Log Message:
-----------
importNodeメソッドについて、var文を整理
Modified Paths:
--------------
branches/07x/073/org/w3c/core.js
Modified: branches/07x/073/org/w3c/core.js
===================================================================
--- branches/07x/073/org/w3c/core.js 2011-03-22 14:28:00 UTC (rev 2500)
+++ branches/07x/073/org/w3c/core.js 2011-03-23 14:21:16 UTC (rev 2501)
@@ -854,28 +854,30 @@
*自身のドキュメントノードに、他のドキュメントノードから作られたノードを取り込みたいときに用いる
*/
/*Node*/ Document.prototype.importNode = function( /*Node*/ importedNode, /*boolean*/ deep) {
- var s, imn = importedNode.nodeType;
+ var s,
+ imn = importedNode.nodeType,
+ attr, att, fi, n, uri, ch;
/*以下の処理は引き渡されたimportedNodeがMSXMLによって解析された
*データであることを前提にしている
*/
if (imn === /*Node.ELEMENT_NODE*/ 1) {
s = this.createElementNS(importedNode.namespaceURI, importedNode.nodeName);
- var attr = importedNode.attributes, att;
+ attr = importedNode.attributes;
for (var i=0,atli=attr.length;i<atli;++i) { //NamedNodeMapを検索する
att = this.importNode(attr[i], false);
s.setAttributeNodeNS(att);
}
if (deep) {
- var fi = importedNode.firstChild, n;
+ fi = importedNode.firstChild;
while (fi) { //子ノードを検索して、子供がいれば、importNodeメソッドを再帰的に実行する
n = this.importNode(fi, true);
s.appendChild(n);
fi = fi.nextSibling;
}
}
- i = attr = att = atli = n = ch = chli = null;
+ i = atli = null;
} else if(imn === /*Node.ATTRIBUTE_NODE*/ 2) {
- var uri = importedNode.namespaceURI;
+ uri = importedNode.namespaceURI;
uri = (uri === "") ? null : uri; //空文字列はnullとして扱うようにする(MSXMLが空文字列を返す時の対策)
s = this.createAttributeNS(uri, importedNode.nodeName);
s.nodeValue = importedNode.nodeValue;
@@ -886,19 +888,19 @@
} else if(imn === Node.DOCUMENT_FRAGMENT_NODE) {
s = this.createDocumentFragment();
if (deep) {
- var ch = importedNode.childNodes, n;
+ ch = importedNode.childNodes;
for (var i=0,chli=ch.length;i<chli;i++) { //子ノードを検索して、子供がいれば、importNodeメソッドを再帰的に実行する
n = this.importNode(ch[i], true);
s.appendChild(n);
}
}
- i = n = ch = chli = null;
+ i = chli = null;
} else if(imn === Node.CDATA_SECTION_NODE) {
s = this.createCDATASection(importedNode.data);
} else if(imn === Node.ENTITY_REFERENCE_NODE) {
s = this.createEntityReference(importedNode.nodeName);
if (deep) {
- var fi = importedNode.firstChild, n;
+ fi = importedNode.firstChild;
while (fi) {
n = this.importNode(fi, true);
s.appendChild(n);
@@ -919,7 +921,7 @@
} else {
throw (new DOMException(DOMException.NOT_SUPPORTED_ERR));
}
- importedNode = deep = null;
+ importedNode = deep = imn = attr = att = fi = n = uri = ch = null;
return s;
};
/*createElementNSメソッド