Ajax小結(jié)

          這個(gè)月工作比較忙,再加上讀了一本<javascript權(quán)威指南>,還有....所以沒有心上來寫blog,這個(gè)月最后一天了,趕上來補(bǔ)下作業(yè),這個(gè)月主要研究了下ajax,其實(shí)對于ajax,年初興起的時(shí)候玩過一陣,也做過一些東東,當(dāng)時(shí)的技術(shù)也處在異步調(diào)用,返回xml,更新網(wǎng)頁控件這個(gè)階段,半年過去了,Prototype.js,DWR,TrimPath JSTemplate等技術(shù)的成熟,使ajax更平民化,使我們更容易在自已的系統(tǒng)中使用.以下總結(jié)一下這個(gè)月學(xué)到的東東,同時(shí)與以前使用ajax進(jìn)行對比.
          高級javascript總結(jié)
          1.函數(shù)也是對象

          var ?myDog? = ? {
          ????bark:?
          function () {
          ????????alert('Woof
          ! ');
          ????}

          }
          ;

          var ?myCat? = ? {
          ????meow:?
          function () {
          ????????alert('I?am?a?lazy?cat.?I?will?not?meow?
          for ?you.');
          ????}

          }
          ;
          ?
          function ?annoyThePet(petFunction) {
          ????
          // let's?see?what?the?pet?can?do
          ????petFunction();
          }


          // annoy?the?dog:
          annoyThePet(myDog.bark);
          // annoy?the?cat:
          annoyThePet(myCat.meow);
          2.數(shù)組,對象成員
          js中創(chuàng)建對象以及給對象動(dòng)態(tài)創(chuàng)建成員
          var?obj?=?{};?//new,?empty?object
          obj['member_1']?=?'this?is?the?member?value';
          obj['flag_2']?
          =?false;
          obj['some_function']?
          =?function(){?/*?do?something?*/};
          以上代碼等同
          var?obj?=?{
          ????member_1:'
          this?is?the?member?value',
          ????flag_2:?
          false,
          ????some_function:?
          function(){?/*?do?something?*/}
          }
          ;
          ????
          obj.some_function();
          obj['some_function']();
          上面代碼表示在對象中使用成員,類似于hash表中使用一個(gè)key.
          3.在js中使用class
          //defining?a?new?class?called?Pet
          var?Pet?=?function(petName,?age){
          ????
          this.name?=?petName;
          ????
          this.age?=?age;
          }
          ;

          //let's?create?an?object?of?the?Pet?class
          var?famousDog?=?new?Pet('Santa\'s?Little?Helper',?15);
          alert('This?pet?is?called?'?
          +?famousDog.name);
          JS中類的繼承一般通過prototype屬性
          Pet.prototype.communicate?=?function(){?
          ????alert('I?
          do?not?know?what?I?should?say,?but?my?name?is?'?+?this.name);
          }
          ;
          用Prototype.js會簡單一些,prototype.js這個(gè)框架的代碼很值得一讀,里面用到了很多高級的JS技巧,巧妙的設(shè)計(jì)的許多優(yōu)秀的設(shè)計(jì)方案.
          var?Pet?=?Class.create();
          Pet.prototype?
          =?{
          ????
          //our?'constructor'
          ????initialize:?function(petName,?age){
          ????????
          this.name?=?petName;
          ????????
          this.age?=?age;
          ????}
          ,
          ????
          ????communicate:?
          function(){
          ????????alert('I?
          do?not?know?what?I?should?say,?but?my?name?is?'?+?this.name);
          ????}

          }
          ;????
          ????????
          4.將函數(shù)作為參數(shù),類似于ruby的閉包寫法
          var?myArray?=?['first',?'second',?'third'];
          myArray.each(?
          function(item,?index){
          ????alert('The?item?
          in?the?position?#'?+?index?+?'?is:'?+?item);
          }
          ?);

          posted on 2006-10-31 15:03 The One 閱讀(294) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          <2006年10月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(3)

          隨筆檔案(11)

          相冊

          我的郵箱

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 马鞍山市| 伊通| 彰武县| 贵溪市| 贺兰县| 洛浦县| 和政县| 湘西| 平塘县| 巫溪县| 仙居县| 绩溪县| 库车县| 遵义市| 濉溪县| 青河县| 巢湖市| 柏乡县| 宣恩县| 鄂托克旗| 安康市| 昌黎县| 偃师市| 浪卡子县| 宁乡县| 纳雍县| 宝鸡市| 化隆| 成安县| 南投市| 稷山县| 左权县| 汤阴县| 永新县| 微山县| 徐汇区| 鄂伦春自治旗| 都江堰市| 昭通市| 九江县| 兴国县|