javascript
javascript 面向对象编程小记
雖然平常用jquery用的很熟,但是基本都是面向過程的寫法。一個(gè)事件一個(gè)function,很少有面向?qū)ο蟮膶懛ā=裉斓脤懸粋€(gè)日期控件,不得不用上面向?qū)ο缶幊獭?/p>
剛開始我的想法是:
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(){};//靜態(tài)方法 datepicker.extend({createHtml:function(){ } });
嗯,你沒看錯(cuò),就是仿照J(rèn)query的寫法。
但是,事實(shí)上,還是我學(xué)藝不精,extend里的方法根本無法繼承。
這種寫法的本意是將extend里的靜態(tài)方法當(dāng)成參數(shù),傳到extend方法里,然后根據(jù)具體的方法名返回相應(yīng)的function。
而我寫的代碼里根本就忽略了extend方法,以為只要是一個(gè)空的function就可以了。
關(guān)于jquery的核心代碼以及框架,還是看一下鏈接吧:
http://nuysoft.iteye.com/blog/1182087
?
所以我還是老老實(shí)實(shí)的用普通的prototype方法寫吧。
var datePicker = function(){this.init(); }// 靜態(tài)方法 datePicker.prototype = {init:function(){alert(11111);} };
其實(shí)這種寫法,也能夠?qū)⒍鄠€(gè)靜態(tài)方法封裝起來,當(dāng)成一個(gè)json對(duì)象,掛載到prototype里。
然后在創(chuàng)建對(duì)象的時(shí)候,就可以直接利用this來調(diào)用了。
?
轉(zhuǎn)載于:https://www.cnblogs.com/nonkicat/p/3178652.html
總結(jié)
以上是生活随笔為你收集整理的javascript 面向对象编程小记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 社交网络图中结点的“重要性“计算(Dij
- 下一篇: Spring 注解AOP 入门