Posted on 2007-09-05 10:27
G_G 閱讀(1034)
評論(3) 編輯 收藏 所屬分類:
javascript Framework
dojo0.9 一個完整的開發javascript包非常值得去學習。
有用的地方就不用多說了.....
開始學習吧
!基礎:1. dojo.declare? javascript類方便使用(繼承,創造等等)???
<1>簡單創造,使用<!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01//ZH-CN"?"http://www.w3.org/TR/html4/strict.dtd">
<html>
????<head>
????????<meta?http-equiv="Content-Type"?content="text/html"?/>
????????<script?type="text/javascript"?src="http://127.0.0.1:8000/lib/dojo/dojo_0.9/dojo/dojo.js"
????????????????djConfig="parseOnLoad:?true"></script>
????</head>
????<body>
????</body>
</html>
<script?type="text/javascript">
????dojo.declare("DojoClass",null,{
????????prptId:?'foo',
????????method:function(val){
????????????window.alert(val);
????????}
????});
????
????var?obj?=?new?DojoClass();
????obj.method('XX');????????????? //效果 alert('XX')
</script>
???
<2>簡單繼承
<script?type="text/javascript">
????dojo.declare("DojoClass",null,{
????????prptId:?'foo',
????????method:function(val){
????????????window.alert(val);
????????}
????});
????
????dojo.declare("Class",DojoClass,{
????????prptId2:'2222',
????????method2:function(val){
????????????window.alert("!!!"+val);
????????}
????});
????var?obj?=?new?Class();
????obj.method('XX');?? ?? ?? //效果 alert('XX');
????obj.method2(?obj.prptId+obj.prptId2?); //效果 alert( '!!!foo2222' );
????
</script>
???
<3>繼承重寫
<script?type="text/javascript">
????dojo.declare("DojoClass",null,{
????????prptId:?'foo',
????????method:function(val){
????????????window.alert(val);
????????}
????});
????
????dojo.declare("Class",DojoClass,{
????????prptId2:'2222',
????????method:function(val){
????????????val?=?val+'list';
????????????this.inherited('method',arguments);
????????},
????????method2:function(val){
????????????window.alert("!!!"+val);
????????}
????});
????var?obj?=?new?Class();
????obj.method('XX');? //效果 alert( 'XXlist' );
????
????
</script>
<4> initializer 類構造
???沒成功 ?? 原因不明
<script?type="text/javascript">
????dojo.declare("DojoClass",null,{
????????initializer:function(val){
????????????this.prptId=val;
????????},
????????
????????prptId:?'foo',
????????
????????method:function(val){
????????????window.alert(val);
????????}
????});
????
????var?obj?=?new?DojoClass('liukaiyi');
????obj.method(?obj.prptId?);? //效果 alert('foo'); 沒成功
</script>