svnno****@sourc*****
svnno****@sourc*****
2010年 11月 20日 (土) 21:02:49 JST
Revision: 2165 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2165 Author: dhrname Date: 2010-11-20 21:02:48 +0900 (Sat, 20 Nov 2010) Log Message: ----------- コミット前の元に戻した Modified Paths: -------------- branches/06x/064/org/w3c/core.js Modified: branches/06x/064/org/w3c/core.js =================================================================== --- branches/06x/064/org/w3c/core.js 2010-11-19 13:01:11 UTC (rev 2164) +++ branches/06x/064/org/w3c/core.js 2010-11-20 12:02:48 UTC (rev 2165) @@ -242,7 +242,7 @@ *指定したrefノードの前に、新たなnノードを入れる。貼り付け(ペースト)機能。 */ /*Node*/ insertBefore : function( /*Node*/ n, ref) { - var tp = this.parentNode, rp; + var tp = this.parentNode; if (tp) { while (!tp) { //先祖をたどっていく if (tp === n) { //先祖要素が追加ノードならばエラー @@ -268,7 +268,7 @@ throw (new DOMException(DOMException.NOT_FOUND_ERR)); } this.childNodes.splice(ref._num,1,n,ref); //Arrayのspliceを利用して、リストにnノードを追加 - rp = ref.previousSibling; + var rp = ref.previousSibling; if (rp) { rp.nextSibling = n; } @@ -278,7 +278,6 @@ this.firstChild = this.childNodes[0]; this.lastChild = this.childNodes[this.childNodes.length-1]; n.parentNode = this; - tp = rp = ref = null; return n; }, /*replaceChildメソッド @@ -338,10 +337,10 @@ *二つ以上の重複したテキストノードを一つにまとめる */ /*void*/ normalize : function() { - var tcn = this.childNodes, tcni, tcnip; + var tcn = this.childNodes; try { for (var i=tcn.length-1;i<0;--i) { - tcni = tcn[i], tcnip = tcni.nextSibling; + var tcni = tcn[i], tcnip = tcni.nextSibling; if (tcnip) { if (tcni.nodeType === Node.TEXT_NODE && tcnip.nodeType === Node.TEXT_NODE) { tcni.appendData(tcnip.data); //次ノードの文字列データを、現ノード文字列の後に付け加える @@ -418,16 +417,13 @@ *名前空間と名前を使って、ノードの集合から特定のノードを取り出す */ /*Node*/ getNamedItemNS : function(/*string*/ namespaceURI, /*string*/ localName) { - var ta; for (var i=0,tali=this.length;i<tali;i++) { - ta = this[i]; + var ta = this[i]; if (ta.namespaceURI === namespaceURI && ta.localName === localName) { //名前空間と名前がそれぞれ一致すれば this._num = i; //場所をいったん記録しておく。(setNamedItemNSで使う) - i = tali = null; return ta; } } - ta = null; return null; }, /*setNamedItemNSメソッド @@ -438,7 +434,6 @@ if (tgans) { //ノードがすでにあるならば、 var s = this[this._num]; this[this._num] = arg; - arg = null; return s; } else { if ( arg.ownerElement !== void 0) { //ノードがもはや別の要素で使われている @@ -446,7 +441,6 @@ } this[this.length] = arg; //新たに、argを項目として追加する this.length += 1; - arg = null; return null; } }, @@ -495,12 +489,14 @@ this.length = this.data.length; }; /*void*/ CharacterData.prototype.insertData = function( /*long*/ offset, /*string*/ arg) { - var pre = this.substring(0, offset - 1), next = this.substring(offset, this.length - offset); //文字列を二つに分けた、前半と後半部分 + var pre = this.substring(0, offset - 1); //文字列を二つに分けた、前半部分 + var next = this.substring(offset, this.length - offset); //後半部分 this.data = pre + this.data + next; this.length = this.data.length; }; /*void*/ CharacterData.prototype.deleteData = function( /*long*/ offset, /*long*/ count) { - var pre = this.substring(0, offset - 1), next = this.substring(offset + count, this.length - 1); //残すべき前半と後半部分 + var pre = this.substring(0, offset - 1); //残すべき前半部分 + var next = this.substring(offset + count, this.length - 1); //後半部分 if (offset + count > this.length) { //offsetとcountの和が文字全体の長さを超える場合、offsetから最後までのを削除 next = ""; } @@ -595,26 +591,28 @@ return s; }; /*NodeList(Array)*/ Element.prototype.getElementsByTagNameNS = function( /*string*/ namespaceURI, /*string*/ localName) { - var s = [], n = 0, tno = this.childNodes, toni, d, ns, ln; + var s = [], n = 0; + var tno = this.childNodes; for (var i=0,tcli = tno.length;i<tcli;i++) { - tnoi = tno[i]; + var tnoi = tno[i]; if (tnoi.nodeType === Node.ELEMENT_NODE) { - ns = (namespaceURI === "*") ? tnoi.namespaceURI : namespaceURI; - ln = (localName === "*") ? tnoi.localName : localName; + var ns = (namespaceURI === "*") ? tnoi.namespaceURI : namespaceURI; + var ln = (localName === "*") ? tnoi.localName : localName; if((tnoi.namespaceURI === ns) && (tnoi.localName === ln)) { s[n] = tnoi; n++; } - d = tnoi.getElementsByTagNameNS(namespaceURI, localName); + var d = tnoi.getElementsByTagNameNS(namespaceURI, localName); if (d) { for (var j=0,dli=d.length;j<dli;++j) { s[s.length] = d[j]; } - n += dli; + n += d.length; } + ns = ln = d = null; } } - tno = tnoi = d = i = j = tcli = dli = ns = ln = d = null; + tno = i = j = tcli = dli = null; if (n === 0) { return null; //該当する要素なし } @@ -971,7 +969,6 @@ attr.localName = qualifiedName; } attr.ownerDocument = this; - namespaceURI = qualifiedName = null; return attr; }; /*getElementsByTagNameNSメソッド