日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

面向对象写js

發布時間:2023/11/30 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 面向对象写js 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


這是個問題,平常也沒思考過,被問到了,一時也沒理清楚自己的思路,當時只蹦出namespace這么個想法;

  平時的工作跟javascript打交道的時候一般是做一些頁面里的交互體驗增強,基本上全是用jQuery,查找一些元素,做些計算,做些屬性更改,做一些事件綁定處理,做些AJAX;

  數據模型也就是定義JSON對象,其實用javascript?OO定義前端的model的情況比較少啦;

  這兩天讀了網上的一些文章,今天稍微整理一下關于這個問題的多個角度。

?

  1.?Object?Instantiation

?//?基礎,不多解釋了Cheap?Reading?glasses

var?People?=?function?People(firstName,lastName)?{

?????this.firstName?=?firstName;

?????this.lastName?=?lastName;

?????this.getName?=?function()?{

??????????return?this.lastName+"?"+this.firstName;?????//?chinese?way

?????}

}

?

?

  2.?Prototype?Inheritence

//?常規寫法,?當然還有些其他寫法,?例如參考2里的Object.create,?但是本質是一樣的啦

var?Employee?=?function?Employee(firstName,?lastName,?salary)?{

?????People.call(this,firstName,lastName);

?????this.salary?=?salary;

}
Employee.prototype?=?new?People();

(function()?{

?????//?通過?ID?獲取?Cheap?Sunglasses??對象

?????function?$(id)?{

??????????return?document.getElementById(id);

?????}

?????//?顯示對應?ID?的對象的節點類型名字

?????function?myMethod(id)?{

??????????alert($(id).nodeName);

?????}

?????//?這是對外的接口

?????window['myNamespace']=?{}

?????window['myNameSpace']['$']?=?$;

})();?

5.?Module?(commonJS)

  javascript越來越流行,從前幾年的AJAX,到現在的nodeJS,前端MVC等等,

  騰訊做的WebQQ也是這一范疇,或者還有360桌面,網頁和App的界限越來越模糊,

  甚至有完全基于瀏覽器的ChromOS的硬件

  這些都說明,javascript天降大任,雖然javascript先天發育得不好。。。

  commonJS其實是個規范,nodeJS是這個規范的實現之一,它的目標是做一個javascript標準庫(就像JDKruby?Gem一樣),借助javascript引擎(eg:?V8),使得javascript也能處理更多的應用場景,學習其他語言成熟的模塊化當然是可行的。

  當然,自己實現javascript模塊的時候,從邏輯上和物理上區分也是不錯的實踐方法。

?

  6.?Module?load?(requireJSTitanium?Optical?Frame)

  javscript的庫其實很多,有非常成功的jQuery,prototype,YUI等等,由于global對象的關系,不同的庫存在對象的沖突,

  這時候就需要模塊加載機制,管理很多js文件,避免沖突等等,requireJS是用的比較多的一個加載庫,google其實也有。


轉載于:https://www.cnblogs.com/imadin/archive/2011/07/27/2118299.html

總結

以上是生活随笔為你收集整理的面向对象写js的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。