[转自: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继承extend用法,供大家参考,具体内容如下 js代码 //直接基于jQuery的扩展,判断是否为空 $.isBlank = function(obj){ return(typeof(obj)=='undefined'||obj==''||obj==null); } //直接...
本文实例讲述了jQuery中$.extend()用法。分享给大家供大家参考。具体分析如下: $.extend()方法定义如下: jQuery.extend([deep], target, object1, [objectN]) 用一个或多个其他对象来扩展一个对象,返回被扩展的...
(349,817)jQuery.extend扩展一些工具方法 (877,2856)Sizzle复杂选择器的实现 (2880,3042)回调:包含函数:对函数的统一管理 (3043,3183)延迟:延迟对象:对异步的统一管理 (3184,3295)支持:功能检测 ...
方法的继承 : for in : 拷贝继承 (jquery也是采用拷贝继承extend) 1. 拷贝继承 function Person (name){ this.name = name; } Person.prototype.showName =function (){ alert(this.name); } function ...
一些变量和函数jQuery继承即扩展方法jQuery.extend方法,即jQuery的静态方法,也可以说是一些工具方法Sizzle选择器,是对复杂选择器的处理,可以单独拿出来用某个对象$ .Callbacks延迟对象,依赖于特定对象对函数的...
在本章中,我们将分析John Resig关于JavaScript继承的一个实现 – Simple JavaScript Inheritance。 John Resig作为jQuery的创始人而声名在外。是《Pro JavaScript Techniques》的作者,而且Resig将会在今年秋天...
在代码复用模式里面有一种叫做“复制属性模式”(copying properties pattern)。谈到代码复用的时候,很有可能想到的是代码的继承性...下面我们来看一个extend()函数的实现代码(注意这里的并不是jQuery的源码,只是
Embryo.js 最简单,可自定义和易于使用JavaScript标准继承库。特征支持新的运营商。 支持instanceof运算符。 支持标准的OO继承支持超级构造... @受JQuery扩展功能的启发:( )。安装节点JS 要从npm存储库安装节点胚模
方法:借鉴底线库的工具框架,包含一些常用方法,在兼容AMD模式的同时,兼顾了CMD# 下载依赖$ npm install# 开发环境(开启本地热服务)$ npm run start# 生产环境(输出...继承当前对象的方法,内部方法,多个对象属性继
08 django模板之继承标签extend和添加标签include 第51章 01 数据库表与表之间的一对多多对多的关系 02 Django的ORM的概念 03 ORM对单表的增删改操作 04 ORM查询API 05 模糊查询之万能的双下换线 第52章 01 上节...
它不依赖jQuery。 注意:Backbone.D3View至少依赖于1.b版本的Backbone。 Backbone 1.1.2与Backbone.D3View不兼容。使用方法: 使用您喜欢的模块加载器加载Backbone.D3View或在页面中加载Backbone和D3后添加为脚本...
│ │ └08 python s14 day 12 模板extend和include_rec.mp4 │ ├老男孩教育-Python14期VIP视频-10节-mp4> │ │ ├day13.zip │ │ ├oldboy-1.avi │ │ ├oldboy-10.avi │ │ ├oldboy-2.avi │ │ ├oldboy-3....
extend: 主要用来做js的继承 List: 数据存储,模拟java中的List Map: 数据存储,模拟java中的Map TreeNode:行和列的数据模型,用树结构来存储 DataGrid: 表格js,实现对数据的解析,表格的装组输入,及事件的...
简单的继承var WidgetA = Widget.extend({ attrs: { a: 1 }, method: function() { console.log(this.get('a')); }});var widget = new WidgetA({ a: 2}).render();widget.method(); // => 2生命周期Widget 有一套...
众所周知,用jQuery的extend方法,可以很方便的实现继承和对象拷贝,我们可以把它拿过来自己用
本文将使用面向对象的方式,来教大家用原生js写出一个类似jQuery这样的类库。我们将会学到如下知识点: 闭包:减少变量污染,缩短变量查找范围 自执行函数在对象中的运用 extend的实现原理 如何实现跨浏览器的...
├─(73) 08 python s3 day50 django模板之继承标签extend和添加标签include.avi ├─(74) day50课上所有.rar (15)\\python全栈day51-60\\python全栈s3 day51;目录中文件数:6个 ├─(75) 01 python s3 day51 数据库...