$.fn.xxx、$.fn.extend.xxx、$.xxx的区别

今天突然想起来一个小的知识点,虽然被提及的不多了,但是想拿来记录一下 - jq封装插件。

页面结构:

<style>
	 #box{
	      width:100px;
	      height:100px;
	      background: #eee;
	      display: none;
	  }
</style>

<div id="box"></div>

使用$.fn.xxx为dom添加方法:

$.fn.showBox = function (){
	this.show();
	return this;
}   
$.fn.setRed = function (){
	this.css({
		background:'red'
	})
	return this;
}   

这类似于给jq实例扩展了方法,jq的所有元素都可以调用到:

$('#box').showBox ().setRed();

因为方法里有返回this,所以可以实现链式调用。

$.fn.extend相当于以对象的书写方式为jq实例扩展方法,与上面写法的意义相同。

$.fn.extend({
    showBox(){
        this.show();
        return this;
    },
    setRed(){
        this.css({
            background:'red'
        })
    }
})

最后$.xxx的意思是给jq添加静态方法:

$.staticFn = function (){
    console.log('jq的静态方法')
}

调用的时候,也只有jq这个类才可以调用:

$.staticFn();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值