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

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

          Posted on 2007-09-05 10:27 G_G 閱讀(1039) 評論(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版本改構造寫法了。我剛發現
          主站蜘蛛池模板: 京山县| 江城| 漠河县| 石首市| 南陵县| 志丹县| 农安县| 额济纳旗| 平原县| 邛崃市| 商河县| 阳曲县| 岫岩| 濮阳县| 宜兴市| 宜良县| 宁津县| 吴忠市| 洛隆县| 山东省| 阿坝| 宁国市| 岐山县| 龙泉市| 舟曲县| 泌阳县| 雅江县| 观塘区| 娄烦县| 克山县| 新化县| 宜章县| 平武县| 惠州市| 峨眉山市| 赤壁市| 泉州市| 平谷区| 南和县| 来宾市| 蛟河市|