js中的静态方法和实例方法jQuery中$.fn.extend()和$.extend()的区别

静态方法:给类添加的方法,或者是类可以调用的方法,静态成员只在内存中占一块区域。

实例方法:类实例化后对象的方法,或者说是类实例对象调用的方法。每创建一个实例,都会在内存中为非静态成员分配一个存储空间。

function Foo(){

}
Foo.jingtai=function(){
    console.log("静态方法")
}
Foo.prototype.shilihua=function(){
    console.log("实例化方法")
}
Foo.jingtai() // 类直接调用
var foo=new Foo(){
}
foo.shilihua(); //  实例化对象调用

在来说下jQuery中的$.fn.extend()和$.extend()的区别:

1、$就是jQuery的别称

2、jQuery中的extend常在开发插件中用到。对象的拷贝。

3、查看jQuery代码可以发现

jQuery.fn = jQuery.prototype = {

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

//……

};

即 jQuery.fn = jQuery.prototype.

<button type="btn" class="btn"> 点击</button>
<script src="jquery-1.11.0.js" type="text/javascript" charset="utf-8"></script>
	        //  为类添加新方法  静态方法  静态方法是不能给实例所调用的
			jQuery.extend({
				foo:function(){
					alert("静态方法")
				}
			})
			jQuery.foo(); // 静态方法
			// $(".btn").foo(); //  $(...).foo is not a function
  
			// jQuery.fn= jQuery.prototype  给实例添加方法   实例方法 
			jQuery.fn.extend({
				newclick:function(){
					$(this).click(function(){
						alert("实例方法")
					})
				}
			})
			$(".btn").newclick(); // 实例方法

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值