Javascript 类似jQuery的自定义函数
我一直想知道如何创建jQuery之类的函数。例如:Javascript 类似jQuery的自定义函数,javascript,Javascript,我一直想知道如何创建jQuery之类的函数。例如:$(ID).function() 其中ID是HTML元素的ID,$是返回元素“ID”的document.getElementById引用的函数,函数是自定义javascript函数 我正在创建一个实现一些函数的小库。我想在不使用jQuery的情况下使用sintax 现在,我的问题是:我如何实现这一点?允许这样做的技术的名称是什么 编辑: 我想做的是: HTMLElement.prototype.alertMe=函数(){alert(this.va
$(ID).function()
其中ID是HTML元素的ID,$
是返回元素“ID”的document.getElementById引用的函数,函数是自定义javascript函数
我正在创建一个实现一些函数的小库。我想在不使用jQuery的情况下使用sintax
现在,我的问题是:我如何实现这一点?允许这样做的技术的名称是什么
编辑:
我想做的是:
HTMLElement.prototype.alertMe=函数(){alert(this.value);}
然后,当我调用
document.getElementById('html\u input\u id').alertMe()
时,它必须显示一个带有输入值的alertbox。但是HTMLElement.prototype
在IE中不起作用。您可以使用prototype为元素prototype分配一个新函数
$ = function(id) {
return document.getElementById(id);
}
Element.prototype.testFunction=function(str){alert(str)}
这将为所有HTML元素提供函数“testFunction”
您可以通过这种方式扩展任何基本对象,即数组、字符串等
这将在没有任何插件的情况下工作——尽管我认为它在IE中不起作用。我相信像MooTools和jQquery这样的库会使用DOM元素创建它们自己的继承,以确保跨浏览器的兼容性,尽管不要引用我的话。好的,看,你所问的有很多细节和含义。jQuery的代码是开源的,您可以阅读它的详细信息;您最好也能找到一本好的Javascript书籍,O'Reilly权威指南
$
只是JS中名称的一个字符,因此正如其他一些答案所示,没有理由不能使用该名称编写函数:
var $ = function(args){...}
因为每个人和他的兄弟都使用这个技巧,所以你也希望有一个更长的名字,这样你就可以混合东西了
var EstebansLibrary = function(args){...}
var $ = EstebansLibrary; // make an alias
由于您最终使用入口点函数做了不同的事情,因此您需要知道JS如何使用参数——查看参数对象
您需要对其进行打包,以便内部不会污染名称空间;您将需要的一些变体,这将使
var EstebansLibrary = (function(){
// process the arguments object
// do stuff
return {
opname : implementation,...
}
})();
你最终会希望为继承做好准备,这意味着将这些函数放入原型
对象中。为什么不获取jQuery源代码并查看它呢?是的,但我不想创建插件。我根本不使用jQuery。安德烈,我已经尝试了Obj.原型,但是它对IETFrimes风格继承不起作用,肯定对IEThanks Charlie起作用,我会考虑这些技巧。