解读jQuery中extend函数】的更多相关文章

$.extend.apply( null, [ true, { "a" : 1, "b" : 2 } ] );//console.log(window.a); //window.location.reload(); $.extend.apply( null, [ true, { "a" : 1, "b" : 2 } ].concat( { "c" : 3, "d" : 4 } ) );…
源码解析 在解析代码之前,首先要了解extend函数要解决什么问题,以及传入不同的参数,会达到怎样的效果.extend函数内部处理传入的不同参数,返回处理后的对象. extend函数用来扩展对象,增加属性和方法. 传入的参数有以下形式: 详细参见:解析jQuery中extend方法--用法<一> 可以传入N多个参数,将src1,src2..srcN的每一项合并到dest中 extend(dest,src1,src2...srcN); 只传入一个对象时,$.extend(),给jQuery扩展静…
jQuery.fn.extend()函数用于为jQuery扩展一个或多个实例属性和方法(主要用于扩展方法). jQuery.fn是jQuery的原型对象,其extend()方法用于为jQuery的原型添加新的属性和方法.这些方法可以在jQuery实例对象上调用. 该函数属于jQuery的原型对象(jQuery.fn). 先看以下例子: 姓名:<input id="name" name="name" type="text" > <…
语法:jQuery.extend( [deep ], target, object1 [, objectN ] ) 深浅拷贝对应的参数就是[deep],是可选的,为true或false.默认情况是false(浅拷贝),并且false是不能够显示的写出来的.如果想写,只能写true(深拷贝) 测试例子: var object1 = {}; var object2 = { b:{ mm:333 }, c:100 }; console.log('原来的object1--->'+JSON.stringi…
$.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效. 如扩展$.fn.abc(),即$.fn.abc()是对jquery扩展了一个abc方法,那么后面你的每一个jquery实例都可以引用这个方法了. 那么你可以这样子:$("#div").abc(); jQuery为开发插件提拱了两个方法,分别是: jQuery.extend(object);为扩展jQuery类本身.为类添加新的方法. jQuery.fn.extend(object);给jQue…
一,$.get(url,[data],[callback]) 说明:url为请求地址,data为请求数据的列表(是可选的,也可以将要传的参数写在url里面),callback为请求成功后的回调函数,该函数接受两个参数,第一个为服务器返回的数据,第二个参数为服务器的状态,是可选参数.而其中,服务器返回数据的格式其实是字符串形势,并不是我们想要的json数据格式,在此引用只是为了对比说明. 1 $.get("data.php",$("#firstName.val()")…
$.get(),$.post(),$.ajax(),$.getJSON() 一,$.get(url,[data],[callback]) 说明:url为请求地址,data为请求数据的列表,callback为请求成功后的回调函数,该函数接受两个参数,第一个为服务器返回的数据,第二个参数为服务器的状态,是可选参数. 而其中,服务器返回数据的格式其实是字符串形势,并不是我们想要的json数据格式,在此引用只是为了对比说明 $.get("data.php",$("#firstName…
一,$.get(url,[data],[callback]) 说明:url为请求地址,data为请求数据的列表(是可选的,也可以将要传的参数写在url里面),callback为请求成功后的回调函数,该函数接受两个参数,第一个为服务器返回的数据,第二个参数为服务器的状态,是可选参数.而其中,服务器返回数据的格式其实是字符串形势,并不是我们想要的json数据格式,在此引用只是为了对比说明. $.get("data.php",$("#firstName.val()"),f…
extend方法在jQuery中是一个很重要的方法,jQuey内部用它来扩展属性方法.常用语jQuery插件开发. jQuery提供了两个方法,$.extend和$.fn.extend,两个方法内部实现一样,但功能用法却不一样,按照官方解释: jQuery.extend(): Merge the contents of two or more objects together into the first object.(把两个或者更多的对象合并到第一个当中) jQuery.fn.extend(…
由于浏览器中的同源策略,不同的域名,不同的协议,甚至不同的端口都无法请求数据.因此出现了浏览器跨域请求数据问题. Jsonp是解决跨域问题的一个非常流行的方法. JSONP(JSON with Padding),其实就是被包裹在函数调用中的JSON. callback({"name": "Kate"}); 1. JSONP原理 通过script标签进行跨域操作,载入的请求js文件中的内容会执行我们在url中指定的函数,并且,传入的参数,就是我们请求的数据. 2. J…
在老版本的jQuery中,当需要对页面上某个由ajax加载的某片段的页面内容响应事件时,可以使用live函数来响应其事件,比如: $('a').live('click', function() { blah() }); 在较新版本的jQuery中,live函数已经被弃用了,弃用的原因可以参考:http://www.cnblogs.com/dumuqiao/archive/2011/09/09/2172511.html 那如何在新版本中实现live函数的功能呢,也就是当由ajax方式加载了页面片段…
一,$.get(url,[data],[callback]) 说明:url为请求地址,data为请求数据的列表(是可选的,也可以将要传的参数写在url里面),callback为请求成功后的回调函数,该函数接受两个参数,第一个为服务器返回的数据,第二个参数为服务器的状态,是可选参数.而其中,服务器返回数据的格式其实是字符串形势,并不是我们想要的json数据格式,在此引用只是为了对比说明. <script> $.get("data.php",$("#firstName…
http://www.365mini.com/page/jquery-attr-vs-prop.htm 在jQuery中,attr()函数和prop()函数都用于设置或获取指定的属性,它们的参数和用法也几乎完全相同. 但不得不说的是,这两个函数的用处却并大不相同.下面我们来详细介绍这两个函数之间的区别. 1.操作对象不同 很明显,attr和prop分别是单词attribute和property的缩写,并且它们均表示"属性"的意思. 不过,在jQuery中,attribute和prope…
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript" src="js/jquery-1.12.1.js"></script> <script type=&q…
jQuery为开发插件提拱了两个方法,分别是: 1. jQuery.fn.extend(); 2. jQuery.extend(); 虽然 javascript没有明确的类的概念,但是可以构建类似类的定义. jQuery便是一个封装得非常好的类,比如,$("#btn1") 会生成一个 jQuery类的实例,理解这一点很重要. 一.jQuery.extend(object) 它是为jQuery类添加类方法,可以理解为添加静态方法. 1.1 jQuery.extend jQuery.ext…
今天遇到一个有趣的例子,将它记录下来. 一个一级菜单,里边有一个二级菜单,二级菜单是通过锚点来链接页面元素的.想要实现的效果是当点击锚点时,页面链接到相应锚点,同时二级菜单隐藏,再点击一级菜单时,继续执行.. 其中试了很多种方法都不行,最后通过读jquery的toggle函数实现了. //这样写可以 $(".nav").toggle(function(){ $(".content").slideToggle(); }); //这样写不可以 $(".nav&…
名人名言:道德是真理之花.——雨果 在jQuery中绑定多个事件名称是,使用空格隔开,举例如下: $("#foo").bind("mouseenter mouseleave", function() { $(this).toggleClass("entered"); }); 在1.4版本以后,也可以如下绑定 $("#foo").bind({ click: function() { // do something on clic…
在使用Jquery开发的过程中,extend是常用的参数处理函数,特别是对默认值的使用. Jquery的扩展方法原型是: var v=$.extend(dest,src1,src2,[,src3...]); 作用是把src1,src2,src3合并到到dest中并返回合并后的dest. 但是在使用过程中,默认值往往是不能被改变的, 如下: var defaut={'selector':'select','default':'默认值','backcolor':'#85e137','forecolo…
JQuery API中定义的on方法,专业名词很多,读起来并不是那么容易,而对于开发人员知道函数怎么使用就可以了.本文将JQuery的说明翻译如下: on(events,[selector],[data],fn) events:事件名,必写参数 [selector]:子元素选择器名,选填参数 [data]:事件触发时,传入函数的参数,可通过event.data对象获取,选填参数 fn:事件触发时所执行的动作,必写参数 示例:<!DOCTYPE html><html><head…
今天看了jQuery手册,对prop()函数又多了一点认识,记忆力不好,记录下来. prop() : 获取匹配元素集中第一个元素的值 判断checkbox中的第一个是否被选中: $(":checkbox").prop("checked"); //如果第一个checkbox被选中返回true,否则返回false. 禁用和选中页面上的所有复选框: $("input[type='checkbox']").prop("disabled"…
由于Javascript 1.8.1 之前的版本,没有内置 trim 函数,所以 JQuery 对它有自己的实现.不同的JQuery版本,trim函数的实现也不尽相同. 阅读本文需要掌握正则表达式用法,如果不是很了解,建议阅读这个.如果只是想了解一下,建议读我写的 5分钟读懂正则表达式. 鉴于正则表达式的强大用途(在各种语言如JS,Python,Ruby,Java中都会用到),建议重点学习并掌握. JQuery 1.7.2版本 // 截取的部分源码,不是完整语句,旨在说明实现过程 trimLef…
extend()是在写插件的过程中常用的方法,该方法有一些重载原型. 1.该方法的原型是: extend(dest,src1,src2,src3...); 它的含义是将src1,src2,src3...合并到dest中,返回值为合并后的dest,由此可以看出该方法合并后,是修改了dest的结构的. 如果想要得到合并的结果却又不想修改dest的结构,可以如下使用: var newSrc=$.extend({},src1,src2,src3...)//也就是将"{}"作为dest参数. 这…
jQuery.extend使用的几种方式 1.jQuery.extend(源对象) jQuery源代码: if(length == i){ target = this; --i; } 示例1: var person = { sex : 'male', showName : function(name){ alert("Name: " + name); } }; jQuery.extend(person); // 将person对象扩展到jQuery($)对象上 jQuery.showN…
欢迎访问我的github:huanshen,有我的源码解析 1.each 跟for循环很像,但是更有用,如果你理解了就知道了. // 遍历一个数组或者对象 // obj 是需要遍历的数组或者对象 // callback 是处理数组/对象的每个元素的回调函数,它的返回值实际会中断循环的过程 // args 是额外的参数数组 each: function( obj, callback, args ) { var value, i = 0, length = obj.length, isArray =…
依据选择器.DOM元素或 jQuery 对象来检測匹配元素集合.假设当中至少有一个元素符合这个给定的表达式就返回true. 假设没有元素符合,或者表达式无效.都返回'false'. '''注意:'''在jQuery 1.3中才对全部表达式提供了支持. 在先前版本号中,假设提供了复杂的表达式.比方层级选择器(比方 + , ~ 和 > ).始终会返回true 实例: $(document).ready(function() { $('#faq').find('dd').hide().end().fi…
is(expr)函数判断当前Jquery对象所匹配的元素是否存在.只要其中一种符合,就返回 true,否则返回 false. 如果 expr是个字符串,既视为Jquery的选择器,用于表示选择的元素. 如果 expr是个函数,函数将根据所匹配的元素进行循环遍历.其中函数的this,指代当前迭代的元素,而且这个函数还会传入一个索引index,即元素所在的索引.…
var extend = (function () { var isObjFunc = function (name) {//返回的是一个函数 var toString = Object.prototype.toString return function () { return toString.call(arguments[0]) === '[object ' + name + ']'//谁调用函数,就指向谁的上下文: } } var isObject = isObjFunc('Object…
个人博客:https://mmmmmm.me 源码:https://github.com/dataiyangu/dataiyangu.github.io 背景: 本人在维护博客的时候加入了aplayer(一个音乐插件),效果如图 可是效果不太美观,为了优化一下想做成这个样子:鼠标移入出现背景图,点击全部展开,希望在点击按钮上加click函数,达到修改div的left值来实现 这个时候出现问题了,在电脑端实现没有问题的,可是在移动端会出现点击点击事件没有绑定成功 代码: define(functi…
代码如下: setFocus=function(id){ var t=$("#"+id).val(); $("#"+id).val("").focus().val(t); }  把焦点光标移动到id的文本最后. jquery获取焦点后光标在字符串后,当input获得焦点后,自动把光标移到文本内容的最后,jQuery用focus()使文本输入框获得焦点且焦点在文字的最右的方法 代码如下: //获取焦点后光标在字符串后 //其原理就是获得焦点后重新把…
今天在使用each函数时,发现写的js代码明明木有问题,为什么点击没有执行呢.js始终处于入门阶段,只好瞎鼓捣. 弄了半天,总算可以了.代码如下: <script type="text/javascript">$(document).ready(function(){ $('.list_ul_10').find('li').each(function(){ $(this).find('.icon_reply').click(function(){ $(this).find(…