`
dtt3401885
  • 浏览: 17870 次
文章分类
社区版块
存档分类
最新评论

js 编写简单插件

 
阅读更多
<!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中的值给完全覆盖。

 

分享到:
评论

相关推荐

    js插件的写法.编写javascript插件

    JavaScript 插件是一种可复用的代码模块,它扩展了JavaScript的功能,使开发者能够便捷地在项目中添加特定功能。创建一个JavaScript插件通常涉及以下几个关键步骤和知识点: 1. **封装**: 封装是JavaScript插件的...

    编写javascript插件,来扩展已有的JavaScript功能.zip

    了解和熟练掌握原型链对于编写插件至关重要,因为这是JavaScript实现继承和复用的核心机制。 "layui.all.js"可能是一个通用的JavaScript库,它提供了一套完整的组件和工具,可以用于监测和优化程序性能,如"能够...

    vs2010中编写JavaScript的插件

    在使用vs2010编写JavaScript时,缺少很多提示和纠错,通过加载这个插件可以轻松在vs2010中编写JavaScript

    Eclipse的JavaScript插件 JSEditor.7z

    "JSEditor"就是这样一个专门为Eclipse设计的JavaScript开发插件,它旨在提供更高效、功能丰富的JavaScript代码编写环境。 JSEditor插件主要包含以下几个关键功能和特点: 1. **语法高亮**:JSEditor提供了对...

    js验证码验证码插件,简单易用、图片验证码,附demo

    描述中的“js验证码插件”指的是使用JavaScript编写的轻量级验证码解决方案,它通常包含几个关键组件: - **生成器**:生成随机字符串并转化为图像。 - **渲染器**:在HTML页面上展示验证码图像。 - **验证器**...

    Eclipse的JavaScript插件 JSEditor

    Eclipse作为一个强大的开源集成开发环境(IDE),广泛用于Java编程,但...使用Eclipse的JavaScript插件JSEditor,意味着你可以在一个专业且功能全面的环境中编写和调试JavaScript代码,享受到高效且便捷的开发体验。

    ScriptCraft:用JavaScript编写Minecraft插件

    下载并安装Minecraft服务器后,再安装ScriptCraft插件,您就可以使用Javascript编写自己的Minecraft mod。 我创建了ScriptCraft,以使年轻的程序员更轻松地创建自己的Minecraft Mod。 Mod使用JavaScript编程语言...

    idea vue.js插件

    Vue.js 是一款非常流行的前端JavaScript框架,用于构建用户界面,以其简洁、易学和高性能的特点深受开发者喜爱。IntelliJ IDEA,作为一款强大的Java开发集成环境,也提供了对Vue.js的支持,通过安装Vue.js插件,可以...

    notepad++ js插件

    结合这些插件,Notepad++可以成为一个强大的JavaScript开发环境,满足从简单的代码编辑到复杂的项目管理需求。 在实际使用中,为了安装这些插件,你需要解压下载的压缩包,然后通过Notepad++的“Plugins Admin”...

    代码高亮显示javascript插件

    "代码高亮显示JavaScript插件"是专门用于在Web页面中美化和突出显示JavaScript代码的工具,它能够将原始的黑白文本代码转换为具有不同颜色、字体和样式的视觉盛宴。本文将深入探讨这一主题,详细介绍JavaScript代码...

    JavaScript中文转拼音,JS中文转拼音插件,中文转拼音(JavaScript)

    标签中的"URL拼音化"强调了这个插件在生成拼音URL上的应用场景,而"JS中文转拼音插件"和"中文转拼音"则表明该插件专注于这个功能,并且是用JavaScript编写的。 总之,这个压缩包提供的JavaScript插件是一个实用的...

    eclipse下的js插件

    下面将详细介绍"Eclipse下的JS插件"这一主题,以及如何利用这些插件提升JavaScript开发体验。 1. **JavaScript Development Toolkit (JDT)**:虽然Eclipse默认支持JS开发,但其功能相对基础。为了提供更强大的JS...

    EditPlus的JSLint插件(检验Javascript编写规范)

    EditPlus是一款功能丰富的文本编辑器,它支持多种编程语言,通过安装JSLint插件,可以在编写JavaScript时实时得到规范性的反馈。 首先,让我们来了解一下**JSLint**。JSLint是由Douglas Crockford开发的一个静态...

    用于myeclipse中js提示的spket插件

    **标题详解:** "用于myeclipse中js提示的spket插件" ...总的来说,Spket插件是提升MyEclipse中JavaScript开发效率的有效工具,通过充分利用它的各种功能,开发者可以更便捷地编写、调试和维护JavaScript代码。

    Jquery快速学(五,常用的插件应用与编写)

    《jQuery快速学(五,常用的插件应用与编写)》是一个深入浅出的教程,旨在帮助初学者和有一定基础的开发者更好地理解和应用jQuery插件。本教程覆盖了多个关键知识点,包括但不限于jQuery插件的基本原理、插件的编写...

    Android Cordova 插件开发之编写自定义插件

    通过以上步骤,你已经成功创建了一个简单的 Cordova 自定义插件,它能在 Android 平台上接收 JavaScript 调用,并返回一个问候消息。这只是一个起点,实际开发中,你可以根据需求扩展功能,例如访问设备硬件、网络...

    JS调用NPAPI插件内的函数

    NPAPI插件是浏览器插件的一种,它允许开发者使用C++等系统级语言编写插件,从而在网页中实现更复杂的计算、多媒体播放、硬件交互等功能。尽管NPAPI由于安全性和性能问题,在现代浏览器中已被逐步淘汰,但对一些老...

    两个比较好用的Eclipse中javascript插件jsEditor jsEclipse

    本文将详细介绍两款在Eclipse中广受欢迎的JavaScript插件:jsEditor和jsEclipse。 首先,我们来看jsEditor。这款插件专为Eclipse设计,旨在提供一个高效、便捷的JavaScript开发环境。jsEditor的特点包括代码高亮、...

    js导出excel插件

    总结,使用JavaScript导出Excel插件,你需要选择合适的库,配置到你的项目中,根据业务需求编写导出逻辑,处理好兼容性和性能问题。在实现过程中,务必注意代码的可维护性和用户友好性,确保导出功能的稳定性和高效...

    js 时间插件(带时分秒)

    JavaScript时间插件是一种用于网页应用中的工具,它能够帮助开发者创建和管理与时间相关的功能,如显示当前时间、倒计时、计时器等。在网页设计中,尤其是在需要实时更新时间或者创建交互式时间元素的场景下,这类...

Global site tag (gtag.js) - Google Analytics