现在的代码是仿jq写的,只是要实现jq中的一小部分,代码如下:(function(){
var window = this,
undefined,
_XICI = window.XICI,
_$ = window.$,
XICI = window.XICI = window.$ = function() {
return new XICI.fn.init();
};
XICI.fn = XICI.prototype = {
init: function() {
var elements = new Array();
for (var i = 0; i < arguments.length; i++) {
var element = arguments;
if (typeof element == 'string') {
element = document.getElementById(element);
}
if (arguments.length == 1) { return element;}
elements.push(element);
}
return elements;
},
alertme: function(){alert('alertme')}
}; })();现在外部调用 $.alertme(); 总是提示:对象不支持此属性或方法,
但是$.fn.alertme()就没有问题,不知为何
上来请教大家,请帮忙帮忙,多谢!
var window = this,
undefined,
_XICI = window.XICI,
_$ = window.$,
XICI = window.XICI = window.$ = function() {
return new XICI.fn.init();
};
XICI.fn = XICI.prototype = {
init: function() {
var elements = new Array();
for (var i = 0; i < arguments.length; i++) {
var element = arguments;
if (typeof element == 'string') {
element = document.getElementById(element);
}
if (arguments.length == 1) { return element;}
elements.push(element);
}
return elements;
},
alertme: function(){alert('alertme')}
}; })();现在外部调用 $.alertme(); 总是提示:对象不支持此属性或方法,
但是$.fn.alertme()就没有问题,不知为何
上来请教大家,请帮忙帮忙,多谢!
function $() {
};
$.fn = {
alertme: function(){alert('alertme')}
}; 那何来$.alertme呢
init: function() {
var elements = new Array();
for (var i = 0; i < arguments.length; i++) {
var element = arguments;
if (typeof element == 'string') {
element = document.getElementById(element);
}
if (arguments.length == 1) { return element;}
elements.push(element);
}
return elements;
},
alertme: function(){alert('alertme')}
};
而LZ现在用的是prototype原型,这个需要new一个XICI对象才行,如下面的红字(function(){
var window = this,
undefined,
_XICI = window.XICI,
_$ = window.$,
XICI = window.XICI = function() {
//return new XICI.fn.init();
};
XICI.fn = XICI.prototype = {
init: function() {
var elements = new Array();
for (var i = 0; i < arguments.length; i++) {
var element = arguments;
if (typeof element == 'string') {
element = document.getElementById(element);
}
if (arguments.length == 1) { return element;}
elements.push(element);
}
return elements;
},
alertme: function(){alert('alertme')}
};
$ = window.$ = new XICI();
})();//测试
$.alertme();//打印alertme
1.定义对象:var XICI = ...
2.定义原型:XICI.prototype.xxx = function(){...};
3.创建对象:var $ = new XICI();
4.使用:$.xxx();
2和3不能颠倒