有什么方法可以清理Obj.prototype.field =
我的 javascript 代码中的所有语句?我正在使用 jQuery。我想做同样的事情,只是我的代码中没有其他单词prototype
。也许我要问的是不可能的——如果是这样,请告诉我,这就是答案。
我发现这是一个无法搜索的问题,因为有一个名为“原型”的 js 库......
有什么方法可以清理Obj.prototype.field =
我的 javascript 代码中的所有语句?我正在使用 jQuery。我想做同样的事情,只是我的代码中没有其他单词prototype
。也许我要问的是不可能的——如果是这样,请告诉我,这就是答案。
我发现这是一个无法搜索的问题,因为有一个名为“原型”的 js 库......
使用jQuery.extend。第二个参数的属性将被复制到第一个参数:
$.extend(Obj.prototype,{
field1: "hi there",
func1: function(){
//do stuff
}
});
这是 jQuery 内部使用的,jQuery.fn 是 jQuery.prototype 的别名:
jQuery.fn.extend({
attr: function( name, value ) {
return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 );
},
removeAttr: function( name ) {
return this.each(function() {
jQuery.removeAttr( this, name );
});
}, ...
你也可以做类似的事情
var p = Obj.prototype;
p.newMethod = function(window.alert("Hi! I live"));
p.newProperty = false;
也许只是:
Obj.prototype = {
run: function(){},
fooBar: function(test1,test2){}
};
?
看看 jQuery 和 YUI3 等库的“扩展”功能
http://api.jquery.com/jQuery.extend/
http://yuilibrary.com/yui/docs/yui/yui-extend.html http://yuilibrary.com/yui/docs/yui/yui-extend.html
还要查看合并(jQuery,YUI3)和扩充(YUI3)以及用法。