我想在我的應用程序中創建一個jQuery像體系結構,但我無法得到我的預期結果。jQuery像體系結構
在jQuery中「jQuery對象實際上只是init構造函數的'enhanced''。
jQuery = function(selector, context) {
return new jQuery.fn.init(selector, context, rootjQuery);
},
這意味着當你啓動jQuery對象;
$('selector')
jQuery的返回
new jQuery.fn.init(selector, context, rootjQuery);
jQuery的原型如下定義;
jQuery.fn = jQuery.prototype = {
constructor: jQuery,
init: function(selector, context, rootjQuery) {
var match, elem, ret, doc;
...
return jQuery.makeArray(selector, this); // An array
}
...
size: function() {
return this.length;
},
...
jQuery的所有有用屬性和方法(如hide(),show()exct。)都由jQuery對象的原型保存。
而init方法的原型指定爲jQuery的原型;
jQuery.fn.init.prototype = jQuery.fn;
好吧!我的問題是我試圖使用這種架構,但我無法獲得返回值的屬性和方法。
這是我的代碼;
(function() {
Metinler = function(MetinKodu){
return new Metinler.sub.baslat(MetinKodu);
}
Metinler.sub = Metinler.prototype = {
metinKodlari: [],
constructor: Metinler,
topla: function(){
return this.metinKodlari[0] + this.metinKodlari[1];
},
baslat: function(MetinKodu) {
if($.isArray(MetinKodu) && MetinKodu.length > 0) {
this.metinKodlari = MetinKodu;
}else{
this.metinKodlari = (MetinKodu) ? [MetinKodu] : [''];
}
return this.metinKodlari;
}
}
Metinler.sub.baslat.prototype = Metinler.sub;
window.Metinler = Metinler;
})()