posts - 165, comments - 198, trackbacks - 0, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

dojo0.9学习(1)--dojo.declare

Posted on 2007-09-05 10:27 G_G 阅读(1020) 评论(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>




评论

# re: dojo0.9学习(1)--dojo.declare  回复  更多评论   

2007-12-05 12:02 by carrie
如果要重写基类中的函数,
不能把基类的函数写在大括号里面定义
要拿处理写才能覆盖

# re: dojo0.9学习(1)--dojo.declare  回复  更多评论   

2007-12-05 16:11 by G_G
哦 谢谢提醒

# re: dojo0.9学习(1)--dojo.declare  回复  更多评论   

2008-02-03 13:23 by winds
dojo.declare('Person',null,{
constructor:function(name){
this.name = name;
},
'say':function(){
alert('I am '+this.name);
},
'hehe':function(){
alert('nothing');
}
});
0.9版本改构造写法了。我刚发现

只有注册用户登录后才能发表评论。


网站导航: