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版本改構造寫法了。我剛發現
          主站蜘蛛池模板: 石城县| 昌吉市| 汨罗市| 绥棱县| 莲花县| 沂水县| 东山县| 芜湖市| 铜山县| 海宁市| 泰顺县| 大同县| 西畴县| 璧山县| 廉江市| 抚远县| 柞水县| 万载县| 双江| 平阴县| 农安县| 洛扎县| 河曲县| 垦利县| 稻城县| 广宗县| 东安县| 西城区| 富锦市| 长泰县| 武宁县| 延津县| 南雄市| 柘城县| 东兴市| 潍坊市| 通化县| 墨玉县| 香格里拉县| 乌什县| 株洲市|