jQuery $.extend()用法总结
jQuery为开发插件提拱了两个方法,分别是:
jQuery.fn.extend(object);
jQuery.extend(object);
jQuery.extend(object);为扩展jQuery类本身.为类添加新的方法。
jQuery.fn.extend(object);给jQuery对象添加方法。
举个例子
- <h3 class="ye">new soul</h3>
- <h3 class="ye">new soul</h3>
- <h3 class="ye">new soul</h3>
- <h3 class="ye">new soul</h3>
- <script type="text/javascript" src="jquery.2.0.3.js"></script>
- <script type="text/javascript">
- jQuery.fn.myPlugin = function(options) {
- $options = $.extend( {
- html: "no messages",
- css: {
- "color": "red",
- "font-size":"14px"
- }},
- options);
- return $(this).css({
- "color": $options.css.color,
- }).html($options.html);
- }
- $('.ye').myPlugin({html:"So easy,yes?",css:{"color":"green","font-size":"20px"}});
好的,上面你也看到了一点点$.extend()的用法。
1.合并多个对象。
这里使用的就是$.extend()的嵌套多个对象的功能。
所谓嵌套多个对象,有点类似于数组的合并的操作。
但是这里是对象。举例说明:
- //用法: jQuery.extend(obj1,obj2,obj3,..)
- var 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"}
2.深度嵌套对象。
- 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” } }
3.可以给jQuery添加静态方法
- $.extend({
- add:function(a,b){return a+b;},
- minus:function(a,b){return a-b},
- multiply:function(a,b){return a*b;},
- divide:function(a,b){return Math.floor(a/b);}
- });
- var sum = $.add(3,5)+$.minus(3,5)+$.multiply(3,5)+$.divide(5,7);
- console.log(sum);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决