[转自:http://????]
jQuery中的extend方法通过不同的参数实现了几种不同的继承方法:
1. extend(src), 扩展jQuery静态方法.
也就是说,将src对象的属性和方法逐一复制给jQuery
$.extend({
test:function(){alert('test函数')}
})
2. extend(dest,src1,src2,src3...srcN) ,合并多个对象.
为jQuery.extend(css1,css2)为例,css1,css2各有一些属性(方法照样会如此处理,这里只讲属性).
extend函数会把css2有而css2没有的属性加到css1中,如果css2的某个属性与css1的某个属性名称享用,就会用css2的属性去覆盖css1的同名属性。css1就是最后的整和对象。或者也可以用 :
var newcss = jquery.extend(css1,css2) newcss就是合并的新对象。
var newcss = jquery.extend({},css1,css2) newcss就是合并的新对象.而且没有破坏css1的结构。
//用法: jQuery.extend(obj1,obj2,obj3,..)
ar Css1={size: "10px",style: "oblique"}
var Css2={size: "12px",style: "oblique",weight: "bolder"}
$.jQuery.extend(Css1,Css2)
//结果:Css1的size属性被覆盖,而且继承了Css2的weight属性
// Css1 = {size: "12px",style: "oblique",weight: "bolder"}7
3.extend(boolean,dest,src1,src2...),深度镶套对象
新的extend()允许你更深度的合并镶套对象。下面的例子是一个很好的证明。
// 以前的 .extend()
jQuery.extend(
{ name: “John”, location: { city: “Boston” } },
{ last: “Resig”, location: { state: “MA” } }
);
// 结果:
// => { name: “John”, last: “Resig”, location: { state: “MA” } }
// 新的更深入的 .extend()
jQuery.extend( true,
{ name: “John”, location: { city: “Boston” } },
{ last: “Resig”, location: { state: “MA” } }
);
// 结果
// => { name: “John”, last: “Resig”,
// location: { city: “Boston”, state: “MA” } } 1617
与其他的类库不同的是,jQuery的extend方法提供了“深层拷贝”的功能,如果你传入的第一个参数为boolean型变量,则该变量为深层拷贝的标志,第二个参数为extend方法的目标对象,其余参数为需要进行继承的“父类”。如果第一个参数的值为true(深层拷贝),并且dest和src元素都包括相同名称的对象属性,则对该对象属性的方法和属性再进行一次复制。
分享到:
相关推荐
在这个图中,我们可以看到对象之间的继承关系,以及jQuery如何扩展和利用JavaScript的原型链机制。 首先,让我们讨论JavaScript的原型(Prototype)概念。在JavaScript中,每个对象都有一个内置的`__proto__`属性,...
1. **基础知识**:理解面向对象编程概念,如类、对象、继承、多态和封装。 2. **语法**:熟悉Java的基本语法,包括数据类型、流程控制(if-else,switch,循环)和异常处理。 3. **集合框架**:理解ArrayList、...
**jQuery.extend** jQuery.extend是jQuery库中的一个非常重要的方法,用于合并两个或更多的对象属性到一个目标对象中。这个功能在开发过程中非常实用,尤其是在处理配置选项、扩展插件功能或者进行对象拷贝时。本篇...
在深入探讨jQuery继承extend用法之前,我们首先需要了解jQuery库的基本概念。jQuery是一个快速、小巧、功能丰富的JavaScript库,它通过简化HTML文档遍历、事件处理、动画和Ajax交互,使得网页应用的开发变得更加轻松...
jQuery.js库提供了一种优雅的解决方案,通过`jQuery.extend()`方法实现了对象的继承功能。这个方法在jQuery中扮演着至关重要的角色,它不仅用于合并对象,还用于实现类之间的继承。 `jQuery.extend()`方法的基本...
在实际开发中,`extend`方法常用于框架和库,如jQuery、Backbone.js等,它们提供了一种标准的方式来创建可复用的组件和模块。 在给出的`test_extend.html`文件中,可能包含了一个示例,演示了如何使用`extend`方法...
本话题主要探讨了在JavaScript、jQuery以及Visual C++中如何实现继承,以帮助开发者更好地理解和运用这些技术。 首先,我们来看看JavaScript中的继承。JavaScript是一种动态类型的语言,它提供了多种实现继承的方式...
当你创建一个新的jQuery对象,如`$(selector)`,这个对象将继承`.fn`中定义的所有方法。因此,`.fn`是添加jQuery实例方法的地方。 3. `.fn.extend()` `.fn.extend()`方法用来扩展`.fn`对象,即向jQuery的原型链中...
3. `$.extend()`: 合并对象,实现继承。 4. `$.inArray()`: 检查元素是否存在于数组中。 5. `$.parseJSON()`: 将JSON字符串解析为JavaScript对象。 总结,jQuery 1.7 API提供了丰富的选择器、DOM操作、CSS操作、...
jQuery的`extend`方法是其库中非常关键的一部分,它提供了合并对象、扩展功能和实现继承的能力。在面试中,熟悉`extend`的用法对于理解jQuery的核心机制至关重要。接下来,我们将深入探讨`extend`的三种主要用法。 ...
1. **类和继承**:Prototype引入了类的概念,通过`Class.create()`方法创建类,并通过`extend()`方法实现类之间的继承。 2. **DOM操作**:Prototype提供了丰富的DOM(文档对象模型)操作方法,如`Element.extend()`...
4. **原型链和继承**: jQuery对象可以通过原型链实现继承,这样可以复用父类的方法和属性。使用`$.extend()`或`Object.create()`可以实现这一点,提高代码的复用性。 5. **封装**: 面向对象的核心思想之一就是封装...
在jQuery库中,`$.fn.extend` 和 `$.extend` 是两个非常重要的功能,用于扩展jQuery对象的功能。它们允许开发者自定义插件和添加新的方法到jQuery实例或jQuery核心对象上。 首先,我们来看`$.fn.extend`。这个方法...
标题“Extend”通常在编程领域指的是对象扩展或类继承的概念,这是面向对象编程中的关键特性。在JavaScript等语言中,对象扩展允许我们为一个现有对象添加新的属性或方法,或者从一个基类(父类)继承特性到一个派生...
jQuery库中非常重要的两个方法是extend和fn.extend,它们允许开发者扩展jQuery的功能。 首先,我们需要了解jQuery对象和jQuery原型(jQuery.prototype)的概念。在JavaScript中,原型是一个对象,其他对象可以继承...
jQuery 使用原型链实现对象的扩展和方法继承。`jQuery.fn` 和 `jQuery.prototype` 是同一个对象,它们包含了一系列基础方法,如 `each`、`find` 等。这些方法可以通过原型链传递给每个 jQuery 对象实例。此外,`...
jQuery的`extend`主要用于对象属性的合并,而Ext JS的`extend`则更多地用于实现类的继承。了解这些差异对于有效利用这两个库进行开发至关重要。在实际应用中,根据项目需求正确选择和使用这些工具,可以提高代码的可...