JavaScript实用方法之extend
extend方法顾名思义,就是用来扩展对象属性的,jQuery的工具函数中也有extend方法(传送门:http://julying.com/jQuery-1.6-api/#p=jQuery.extend)。我认为extend方法的最大用处不是扩展普通对象,而是扩展原型对象,实现多重继承。如果自己写前端库的话,用extend组织代码,可以写出有漂亮组织结构的优雅代码。
下面是extend方法的简单实现,将extend作为object的静态方法
/* * 用一个或多个其他对象来扩展一个对象,返回被扩展的对象。 * 静态方法定义在哪个对象底下都没所谓 * 如果参数为空,则返回 null; * 如果只有一个参数,则直接返回该参数; * 否则:把第二个参数到最后一个参数的成员拷贝到第一个参数对应中去,并返回第一个参数。 */ Object.extend = function() { var len = arguments.length; if(len == 0) { return null; } var This = arguments[0]; if(len == 1) { return This; } for(var i=1; i<len; i++) { var obj = arguments[i]; for(var name in obj) { This[name] = obj[name]; } } return This; };