[Sie-announce] SIEコード [2501] importNodeメソッドについて、var文を整理

Zurück zum Archiv-Index

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メソッド




Sie-announce メーリングリストの案内
Zurück zum Archiv-Index