jquery的一些疑问和解答(待扩展) 浅浅的花香味﹌ 2022-08-19 15:17 147阅读 0赞 **一、$.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效** 1、jQuery.extend(object); 为jQuery类添加添加类方法,可以理解为添加静态方法。 2、如扩展$.fn.abc(),即$.fn.abc()是对jquery扩展了一个abc方法,那么后面你的每一个jquery实例都可以引用这个方法了. 那么你可以这样子:$("\#div").abc(); $.extend(\{ add:function(a,b)\{returna+b;\} \}); 便为 jQuery 添加一个为add 的 “静态方法”,之后便可以在引入 jQuery 的地方,使用这个方法了, $.add(3,4); //return 7 **二、$(function()\{\}和(function ($) \{\})(jQuery)区别** jQuery(function()\{ \});用于存放操作DOM对象的代码,执行其中代码时DOM对象已存在。不可用于存放开发插件的代码,因为jQuery对象没有得到传递,外部通过jQuery.method也调用不了其中的方法(函数)。 (function()\{ \})(jQuery);用于存放开发插件的代码,执行其中代码时DOM不一定存在,所以直接自动执行DOM操作的代码请小心使用。 三、$.extend()函数详解 JQuery的extend扩展方法: Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解。 **一、Jquery的扩展方法原型是:** extend(dest,src1,src2,src3...); 它的含义是将src1,src2,src3...合并到dest中,返回值为合并后的dest,由此可以看出该方法合并后,是修改了dest的结构的。如果想要得到合并的结果却又不想修改dest的结构,可以如下使用: var newSrc = $.extend({},src1,src2,src3...) // 也就是将"{}"作为dest参数。 这样就可以将src1,src2,src3...进行合并,然后将合并结果返回给newSrc了。如下例: var result = $.extend({},{name: " Tom " ,age: 21 },{name: " Jerry " ,sex: " Boy " }) 那么合并后的结果 result = {name: " Jerry " ,age: 21 ,sex: " Boy " } 也就是说后面的参数如果和前面的参数存在相同的名称,那么后面的会覆盖前面的参数值。 **二、省略dest参数** 上述的extend方法原型中的dest参数是可以省略的,如果省略了,则该方法就只能有一个src参数,而且是将该src合并到调用extend方法的对象中去,如: **1、$.extend(src)** 该方法就是将src合并到jquery的全局对象中去,如: $.extend({ hello:function(){alert( ' hello ' );} }); 就是将hello方法合并到jquery的全局对象中。 **2、$.fn.extend(src)** 该方法将src合并到jquery的实例对象中去,如: $.fn.extend({ hello:function(){alert( ' hello ' );} }); 就是将hello方法合并到jquery的实例对象中。 下面例举几个常用的扩展实例: $.extend({net:{}}); 这是在jquery全局对象中扩展一个net命名空间。 $.extend($.net,{ hello:function(){alert( ' hello ' );} }) 这是将hello方法扩展到之前扩展的Jquery的net命名空间中去。 **三、Jquery的extend方法还有一个重载原型:** extend(boolean,dest,src1,src2,src3...) 第一个参数boolean代表是否进行深度拷贝,其余参数和前面介绍的一致,什么叫深层拷贝,我们看一个例子: var result = $.extend( true , {}, { name: " John " , location: {city: " Boston " ,county: " USA " } }, { last: " Resig " , location: {state: " MA " ,county: " China " } } ); 我们可以看出src1中嵌套子对象location:\{city:"Boston"\},src2中也嵌套子对象location:\{state:"MA"\},第一个深度拷贝参数为true,那么合并后的结果就是: result = {name: " John " ,last: " Resig " , location:{city: " Boston " ,state: " MA " ,county: " China " }} 也就是说它会将src中的嵌套子对象也进行合并,而如果第一个参数boolean为false,我们看看合并的结果是什么,如下: var result = $.extend( false , {}, { name: " John " , location:{city: " Boston " ,county: " USA " } }, { last: " Resig " , location: {state: " MA " ,county: " China " } } ); 那么合并后的结果就是: result = {name: " John " ,last: " Resig " ,location:{state: " MA " ,county: " China " }} 以上就是$.extend()在项目中经常会使用到的一些细节。
相关 理解Java垃圾回收机制的疑问和解答 在Java编程中,垃圾回收(Garbage Collection, GC)是一个自动的过程,它负责管理程序运行期间不再使用的内存。 以下是关于Java垃圾回收机制的一些常见问 我不是女神ヾ/ 2024年09月13日 07:36/ 0 赞/ 19 阅读
相关 新手困惑解答:Java语言基础的疑问及解答 在学习Java语言基础时,可能会遇到一些疑问。以下是一些常见问题及其解答: 1. **Java是什么?** Java是一种广泛使用的、面向对象的编程语言。由Sun M 深藏阁楼爱情的钟/ 2024年09月11日 02:54/ 0 赞/ 14 阅读
相关 JWT安全验证常见疑问解答 最近做基于[BFF架构][BFF]的分布式移动端API接口的系统设计。工作过程中发现有些工程师对JWT安全验证的认识存在一些偏差,重复讲解实在太麻烦了,在这里把关于JWT常见的 向右看齐/ 2022年09月23日 04:54/ 0 赞/ 132 阅读
相关 jquery的一些疑问和解答(待扩展) 一、$.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效 1、jQuery.extend(object); 为jQuery类添 浅浅的花香味﹌/ 2022年08月19日 15:17/ 0 赞/ 148 阅读
相关 java虚拟机疑问与解答 内存相关 1、哪些内存区域是共享的,哪些又是线程私有的? 共享的:方法区、堆 私有的:栈、本地栈、程序计数器 2、哪个内存区域不会有OOM? 程序计数 清疚/ 2022年07月12日 05:08/ 0 赞/ 155 阅读
相关 Css中的一些疑问 1.表格中 cellspacing和cellpadding的区别 它们都在表格中发挥着作用,cellpadding其实设置就是单元格的大小。通俗的说:设置的是你家的大 旧城等待,/ 2022年06月10日 07:57/ 0 赞/ 198 阅读
相关 一些关于DSP的问题和解答 原文: [http://bbs.eeworld.com.cn/viewthread.php?tid=53841&extra=page%3D1%26amp%3Bfilter%3D 灰太狼/ 2022年05月23日 13:42/ 0 赞/ 209 阅读
相关 Springboot的一些疑问 1.application.properties与application.yml之间的区别 参考链接:[https://blog.csdn.net/qq\_2964865 秒速五厘米/ 2022年02月24日 06:57/ 0 赞/ 174 阅读
相关 关于reduce和hive的一些疑问 reduce:相同的key为一组,调用一个reduce。我们知道,map端输出的数据为kvp,其中p是根据用户自己定义的办法指定该组kv使用哪个reuduce的,比如天气的例子 谁践踏了优雅/ 2021年12月20日 04:49/ 0 赞/ 224 阅读
还没有评论,来说两句吧...