posts - 165, comments - 198, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          dojo0.9學習(1)--dojo.declare

          Posted on 2007-09-05 10:27 G_G 閱讀(1048) 評論(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版本改構造寫法了。我剛發現
          主站蜘蛛池模板: 临城县| 开鲁县| 安溪县| 土默特右旗| 龙泉市| 汝南县| 浪卡子县| 湖口县| 阳西县| 都兰县| 方正县| 汶上县| 钦州市| 洛川县| 澄江县| 中西区| 手游| 普陀区| 会泽县| 延边| 寿阳县| 旅游| 阿巴嘎旗| 化德县| 乌什县| 弥渡县| 方城县| 车险| 比如县| 大竹县| 吉安市| 西安市| 南康市| 都江堰市| 富顺县| 丽水市| 无棣县| 小金县| 昌江| 大安市| 茌平县|