<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>111111</title> <script type="text/javascript" src="${resource(dir:'development-bundle',file:'jquery.js')}"></script> <!-- view_source_begin --> </head> <body> <input type='button' name="11111" value="123123" onclick="onaaa()"> <div id="gongg"> <font color="#DBEAF9">asdasdasdasd</font> </div> </body> <script type="text/javascript"> jQuery.aabb =function () {//定义一个简单插件 插件少量时可用,怕重复插件名称 alert('This is a test. This is only a test.aabb'); }; jQuery.myPlugin = {//定义两种个简单插件 插件大量时可用,不怕重复插件名称 -------//jQuery.extend(object);为扩展jQuery类本身.为类添加新的方法。 foo: function () { alert('This is a test. This is only a test.'); }, bar: function (param) { alert('This function takes a parameter, which is "' + param + '".'); } }; (function ($) {//插件要放在里边 $.fn.extend({ pluginName: function (opt, callback) { // Our plugin implementation code goes here. } }) })(jQuery); $.fn.hilight = function() {//定义一个jquery方法 可以调用的方法 直接用--------//jQuery.fn.extend(object);给jQuery对象添加方法。 alert($(this).find("font").attr("color"))//$(this)= 该对象 if($(this).find("font").attr("color")=='#DBEAF9'){ $(this).find("font").attr("color","red") }else if($(this).find("font").attr("color")=='red'){ $(this).find("font").attr("color","#DBEAF9") } }; $.fn.peihefristchajian = function(psm) {//定义一个jquery传参方法 可以调用的方法 直接用--------//jQuery.fn.extend(object);给jQuery对象添加方法。 $(this).find("font").attr("color",psm) }; $.fn.fristchajian=function(paramss){ var opt={//自己定义一个集合,当调用该方法时候,可以传入该类的数据,把默认的覆盖掉 size:'4px', color:'#003CFF', neirong:'第一个插件' } var opts=$.extend(opt,paramss)//把所有参数 集合起来 自己定义与传参,把所有参数放在opts 对象内 ,一下方法可以直接调用opts // $("#gongg").peihefristchajian(opts.color) $(this).find("font").attr("color",opts.color) $(this).find("font").text(opts.neirong) } function onaaa(){ $.aabb(); $.myPlugin.foo(); jQuery.myPlugin.bar('12312asd'); $("#gongg").hilight() $("#gongg").fristchajian() $("#gongg").fristchajian({ size:'4px', color:'#0080C9', neirong:'第2222个插件' }) } </script> </html>
Query为开发插件提拱了两个方法,分别是:
jQuery.extend(object);为扩展jQuery类本身.为类添加新的方法。
jQuery.fn.extend(object);给jQuery对象添加方法。
extend(result,item1,item2…..)
这里这个方法主要用来合并,将所有的参数项都合并result中,并返回result,但是这
样就会破坏result的结构。
extend({},item1,item2,……)
用这个方法,可以将所得的结果全部合并在{}中,并返回,而且还不会破坏原有的项的结构。
示例:
Var item={name:”olive”,age:23};
Var item1={name:”Momo”,sex:”gril”};
Var result=$.extend({},item,item1);
结果:
Result={name:”Momo”,age:23,sex:”gril”};
extend(bool,{},item1,item2….)
Extend方法还有带bool型参数的重载。
bool型参数为true表示深拷贝,为false时表示浅拷贝。具体可以通过一下示例来说明:
示例:
var item={name:“olive”,age:23,address{provice:”河南”,city:”郑州”}};
var item1={sex:”girl”,address{city:”北京”}};
var result=$.extend(true,item,item1);
var result1=$.extend(false,item,item1);
结果:
Result={name:“olive”,age:23,sex:”gril”,address:{provice:”河南”,city:”北京”}};
Result1={name:“olive”,age:23,sex:”gril”,address:{ city:”北京”}};
说明:
以上结果说明,当参数为ture时,即为深拷贝,当子项item1中的子项有与item中的子项相同属性的值不一样时,item1中子项的值会将item子项中的值给覆盖,当子项item1的属性跟item中的属性不同时,会与item进行合并。
当参数为false时,子项item1中的子项中与item中的子项属性相同时,item1中子项的属性值会将item中的值给完全覆盖。
相关推荐
JavaScript 插件是一种可复用的代码模块,它扩展了JavaScript的功能,使开发者能够便捷地在项目中添加特定功能。创建一个JavaScript插件通常涉及以下几个关键步骤和知识点: 1. **封装**: 封装是JavaScript插件的...
了解和熟练掌握原型链对于编写插件至关重要,因为这是JavaScript实现继承和复用的核心机制。 "layui.all.js"可能是一个通用的JavaScript库,它提供了一套完整的组件和工具,可以用于监测和优化程序性能,如"能够...
在使用vs2010编写JavaScript时,缺少很多提示和纠错,通过加载这个插件可以轻松在vs2010中编写JavaScript
"JSEditor"就是这样一个专门为Eclipse设计的JavaScript开发插件,它旨在提供更高效、功能丰富的JavaScript代码编写环境。 JSEditor插件主要包含以下几个关键功能和特点: 1. **语法高亮**:JSEditor提供了对...
描述中的“js验证码插件”指的是使用JavaScript编写的轻量级验证码解决方案,它通常包含几个关键组件: - **生成器**:生成随机字符串并转化为图像。 - **渲染器**:在HTML页面上展示验证码图像。 - **验证器**...
Eclipse作为一个强大的开源集成开发环境(IDE),广泛用于Java编程,但...使用Eclipse的JavaScript插件JSEditor,意味着你可以在一个专业且功能全面的环境中编写和调试JavaScript代码,享受到高效且便捷的开发体验。
下载并安装Minecraft服务器后,再安装ScriptCraft插件,您就可以使用Javascript编写自己的Minecraft mod。 我创建了ScriptCraft,以使年轻的程序员更轻松地创建自己的Minecraft Mod。 Mod使用JavaScript编程语言...
Vue.js 是一款非常流行的前端JavaScript框架,用于构建用户界面,以其简洁、易学和高性能的特点深受开发者喜爱。IntelliJ IDEA,作为一款强大的Java开发集成环境,也提供了对Vue.js的支持,通过安装Vue.js插件,可以...
结合这些插件,Notepad++可以成为一个强大的JavaScript开发环境,满足从简单的代码编辑到复杂的项目管理需求。 在实际使用中,为了安装这些插件,你需要解压下载的压缩包,然后通过Notepad++的“Plugins Admin”...
"代码高亮显示JavaScript插件"是专门用于在Web页面中美化和突出显示JavaScript代码的工具,它能够将原始的黑白文本代码转换为具有不同颜色、字体和样式的视觉盛宴。本文将深入探讨这一主题,详细介绍JavaScript代码...
标签中的"URL拼音化"强调了这个插件在生成拼音URL上的应用场景,而"JS中文转拼音插件"和"中文转拼音"则表明该插件专注于这个功能,并且是用JavaScript编写的。 总之,这个压缩包提供的JavaScript插件是一个实用的...
下面将详细介绍"Eclipse下的JS插件"这一主题,以及如何利用这些插件提升JavaScript开发体验。 1. **JavaScript Development Toolkit (JDT)**:虽然Eclipse默认支持JS开发,但其功能相对基础。为了提供更强大的JS...
EditPlus是一款功能丰富的文本编辑器,它支持多种编程语言,通过安装JSLint插件,可以在编写JavaScript时实时得到规范性的反馈。 首先,让我们来了解一下**JSLint**。JSLint是由Douglas Crockford开发的一个静态...
**标题详解:** "用于myeclipse中js提示的spket插件" ...总的来说,Spket插件是提升MyEclipse中JavaScript开发效率的有效工具,通过充分利用它的各种功能,开发者可以更便捷地编写、调试和维护JavaScript代码。
《jQuery快速学(五,常用的插件应用与编写)》是一个深入浅出的教程,旨在帮助初学者和有一定基础的开发者更好地理解和应用jQuery插件。本教程覆盖了多个关键知识点,包括但不限于jQuery插件的基本原理、插件的编写...
通过以上步骤,你已经成功创建了一个简单的 Cordova 自定义插件,它能在 Android 平台上接收 JavaScript 调用,并返回一个问候消息。这只是一个起点,实际开发中,你可以根据需求扩展功能,例如访问设备硬件、网络...
NPAPI插件是浏览器插件的一种,它允许开发者使用C++等系统级语言编写插件,从而在网页中实现更复杂的计算、多媒体播放、硬件交互等功能。尽管NPAPI由于安全性和性能问题,在现代浏览器中已被逐步淘汰,但对一些老...
本文将详细介绍两款在Eclipse中广受欢迎的JavaScript插件:jsEditor和jsEclipse。 首先,我们来看jsEditor。这款插件专为Eclipse设计,旨在提供一个高效、便捷的JavaScript开发环境。jsEditor的特点包括代码高亮、...
总结,使用JavaScript导出Excel插件,你需要选择合适的库,配置到你的项目中,根据业务需求编写导出逻辑,处理好兼容性和性能问题。在实现过程中,务必注意代码的可维护性和用户友好性,确保导出功能的稳定性和高效...
JavaScript时间插件是一种用于网页应用中的工具,它能够帮助开发者创建和管理与时间相关的功能,如显示当前时间、倒计时、计时器等。在网页设计中,尤其是在需要实时更新时间或者创建交互式时间元素的场景下,这类...