关于开发Jquery第三方插件

 

开发第三方插件是我们提高JQuery代码经验的不错的选择,当我们的代码想要重用的时候,我们总是习惯把这些代码封装成一个插件,幸运的是在JQuery中这并不比写代码复杂多少。
添加一个新的全局函数

JQuery的全局函数也就是属于JQuery命名空间的函数,典型的例子就是$.AJAX()这个函数。将函数定义于Jquery的命名空间,我们只需要担心,它是否与其他函数存在冲突。

添加一个全局函数,我们只需如下定义:

jQuery.foo = function() { alert('This is a test. This is only a test.');};

调用的时候可以这样写:

jQuery.foo(); 

也可以这样写:

$.foo(); 

定义多个全局函数,如果我们的插件需要多个全局函数,可以如下定义

jQuery.foo = function() { alert('This is a test. This is only a test.');};jQuery.bar = function(param) { alert('This function takes a parameter, which is "' + param + '".');};

同时这两个方法我们可以如下调用

$.foo();$.bar('baz');

当然我们也可以使用$.extend()这个函数扩展来代替以上的定义

jQuery.extend({ foo: function() { alert('This is a test. This is only a test.'); }, bar: function(param) { alert('This function takes a parameter, which is "' + param +'".'); }}); 

以上效果是相同的,虽然在Jquery命名空间中,我们禁止使用了大量的javaScript函数名和变量名。但是仍然不可避免某些函数或变量名将于其他Jquery插件冲突,因此我们习惯将一些方法封装到另一个自定义的命名空间。

jQuery.myPlugin = { foo: function() { alert('This is a test. This is only a test.'); }, bar: function(param) { alert('This function takes a parameter, which is "' + param + '".'); }}; 

当然我们仍然可以认为这些函数为全局函数,我们可以如下调用

$.myPlugin.foo();$.myPlugin.bar('baz'); 

通过这个技巧(使用独立的插件名),我们可以避免命名空间内函数的冲突。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值