javascript的fn方法(转)

jQuery为开发插件提拱了两个方法,分别是:

jQuery.fn.extend(object);

jQuery.extend(object);

jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。

jQuery.fn.extend(object);给jQuery对象添加方法。

fn 是什么东西呢。查看jQuery代码,就不难发现。

jQuery.fn = jQuery.prototype = {

   init: function( selector, context ) {//.... 

   //......

};

原来 jQuery.fn = jQuery.prototype.对prototype肯定不会陌生啦。

虽然 javascript 没有明确的类的概念,但是用类来理解它,会更方便。

jQuery便是一个封装得非常好的类,比如我们用 语句 $("#btn1") 会生成一个 jQuery类的实例。

jQuery.extend(object); 为jQuery类添加添加类方法,可以理解为添加静态方法。如:

$.extend({

  add:function(a,b){return a+b;}

});

便为 jQuery 添加一个为 add 的 “静态方法”,之后便可以在引入 jQuery 的地方,使用这个方法了,

$.add(3,4);  //return 7

jQuery.fn.extend(object); 对jQuery.prototype进得扩展,就是为jQuery类添加“成员函数”。jQuery类的实例可以使用这个“成员函数”。

比如我们要开发一个插件,做一个特殊的编辑框,当它被点击时,便alert 当前编辑框里的内容。可以这么做:

Java代码

  1. $.fn.extend({
  2. alertWhileClick:function(){
  3. $(this).click(function(){
  4. alert($(this).val());
  5. });
  6. }
  7. });
  8. $("#input1").alertWhileClick(); //页面上为:<input id="input1" type="text"/>

$("#input1") 为一个jQuery实例,当它调用成员方法 alertWhileClick后,便实现了扩展,每次被点击时它会先弹出目前编辑里的内容。

真实的开发过程中,当然不会做这么小白的插件,事实上jQuery提拱了丰富的操作文档,事件,CSS ,Ajax、效果的方法,结合这些方法,便可以开发出更加 Niubility 的插件。

时间: 2024-07-28 20:25:34

javascript的fn方法(转)的相关文章

html,JavaScript调用winfrom方法

---恢复内容开始--- 目的: 在动画上面添加点击事件,通过JavaScript调用winfrom方法 1.创建一个页面 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; usin

Javascript 常用扩展方法

这篇文章纯粹是为了保存这些方法,供以后翻阅,其实一直保存在 evernote 里面,但觉得还是放到对的地方会好点. 现在收录的很少,希望以后会慢慢增多. 数组扩展 contains,remove 扩展 1 function ArrayContains(array, obj) { 2 for (var i = 0; i < array.length; i++) { 3 if (array[i] === obj) { 4 return true ; 5 } 6 } 7 return false ;

jquery $.fn方法

<script type="text/javascript"> $(function(){ $.fn.pop=function(){ $('.popbox').css('display','block'); var _h=$('.bb').height(); $('.bb').css('margin-top',-(_h/2)); } }) </script> <script type="text/javascript"> $(fu

delegate实现Javascript的each方法

C#如何用delegate实现Javascript的each方法 C#中有很多易混淆的关键词,例如delegate,Func, Action和 Predicate.Func, Action和 Predicate本质上都是delegate,下面看一下delegate概念. 1 delegate概念 delegate本质上就是一个指向函数的指针,可以指向不同的函数,只要函数的签名和代理一致即可. 2 delegate应用 其实Func, Action, Predicate等都是delegate,只是

[13年迁移]javascript 的join(&quot;&quot;)方法,把数组变成统一字符串,用来写长的输出字符串

javascript 的join("")方法,把数组变成统一字符串,用来写长的参数字符串    function m(a) {        var b = ["<table class='DynarchCalendar-topCont'", j, "><tr><td>", "<div class='DynarchCalendar'>", e ? "<a clas

详解JavaScript的splice()方法

在javascript中splice()方法,是一个很强的数组方法,它有多种用法.splice()主要用途是向数组的中部插入项. 有如下3种方式:删除--可以删除任意数量的项,只需要指定2个参数:要删除的第一项的位置和要删除项的项数.例如,splice(0,2)会删除数组中的前两项.插入--可以向指定位置插入任意数量的项,只需要提供3个参数:骑士位置.0(要删除的项数)和要插入的项.如果要插入多个项,可以再传入第四.第五,一直任意多个项.例如,splice(2,1,"red",&quo

javascript数组原型方法

1.javascript数组原型方法. 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>jstest</title> 6 </head> 7 <body> 8 <script> 9 var arr = ["1","2&q

JavaScript数组sort()方法小结

sort语法:arrayObject.sort(sortby):参数sortby可选.规定排序顺序.必须是函数. 由于sort方法是先将数组元素转换为字符串进行比较,根据字符串首字符的ASCII码排序进行比较,所以有时候不能满足我们对数组数字集合的排序要求,但是sort()方法可以采用函数,利用冒泡法对数组进行排序,我个人的理解是如果要对其进行排序给定函数有以下两种格式: Array.sort(function(a,b){ a-b; }) 此种方法实现由小到大排序. Array.sort(fun

两种动态加载JavaScript文件的方法

两种动态加载JavaScript文件的方法 第一种便是利用ajax方式,第二种是,动静创建一个script标签,配置其src属性,经过把script标签拔出到页面head来加载js,感乐趣的网友可以看下 动态加载script到页面大约有俩方法 第一种便是利用ajax方式,把script文件代码从背景加载到前台,而后对加载到的内容经过eval()实施代码.第二种是,动静创建一个script标签,配置其src属性,经过把script标签插入到页面head来加载js,相当于正在head中写了一个<sc