當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
javascript 面向对象编程小记
生活随笔
收集整理的這篇文章主要介紹了
javascript 面向对象编程小记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
雖然平常用jquery用的很熟,但是基本都是面向過程的寫法。一個事件一個function,很少有面向對象的寫法。今天得寫一個日期控件,不得不用上面向對象編程。
剛開始我的想法是:
var datepicker = function(){return new datepicker.fn.init(); }datepicker.fn = datepicker.prototype={constructor:datepicker,init:function(){} }datepicker.fn.init.prototype = datepicker.fn;datepicker.extend = datepicker.fn.extend = function(){};//靜態方法 datepicker.extend({createHtml:function(){ } });
嗯,你沒看錯,就是仿照Jquery的寫法。
但是,事實上,還是我學藝不精,extend里的方法根本無法繼承。
這種寫法的本意是將extend里的靜態方法當成參數,傳到extend方法里,然后根據具體的方法名返回相應的function。
而我寫的代碼里根本就忽略了extend方法,以為只要是一個空的function就可以了。
關于jquery的核心代碼以及框架,還是看一下鏈接吧:
http://nuysoft.iteye.com/blog/1182087
?
所以我還是老老實實的用普通的prototype方法寫吧。
var datePicker = function(){this.init(); }// 靜態方法 datePicker.prototype = {init:function(){alert(11111);} };
其實這種寫法,也能夠將多個靜態方法封裝起來,當成一個json對象,掛載到prototype里。
然后在創建對象的時候,就可以直接利用this來調用了。
?
轉載于:https://www.cnblogs.com/nonkicat/p/3178652.html
總結
以上是生活随笔為你收集整理的javascript 面向对象编程小记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 社交网络图中结点的“重要性“计算(Dij
- 下一篇: OpenCL快速入门教程