prototype.jsソースコード分析

Element近辺

  • DOM操作のあたりにはいっていきたいが、いわゆる「コアJavaScript」と「クライアントサイドJavaScript」の区別をきちんとしないといけないのかな??→調べます><
<div id="here">hoge</div>

<script>
Object.extend = function(destination, source){
	for(p in source){
		destination[p] = source[p];
	}
	return destination;
}
Element.Methods = {
	hide : function(element){
		$(element).style.display = "none";
		return element;
	}
}

Object.extend(Element, Element.Methods);//2547

function $(element){
	element = document.getElementById(element);
	return Element.extend(element);
}
Element.extend = (function(){//2556
	var extend = function(element){
		return element + " hoge";	
	}	
	return extend;
})();
//----------------------------------
document.write("<pre><hr><hr>");
for(p in Element){
	document.write(p + " : " + Element[p] + "<hr>");
}
//----------------------------------
alert($('here'));
</script>

Element近辺2

  • 考えていたよりも複雑だった。(深かった。)
  • 2600行目から2685行目までの「Element.addMethods=function()〜」中に書かれている以下のコードがElementの拡張と思われる。
  • 4184行目で実装(一番最後)
  • その他もろもろ組み合わさっているので丁寧に紐解いていきます。
  • 違っていたらスミマセン><
Object.extend(Element, Element.Methods);//2680行目

めぐりめぐって

  • __proto__って何?って所に戻ってきた。。
  • くぅ〜