jQuery的核心对象、原型对象、静态方法、动态方法
什么叫jQuery的核心对象?
$ $===jQuery
什么叫jQuery的原型对象?
$.fn $.fn===$.prototype
什么叫静态方法?
在构造函树上定义的方法,静态方法通过构造函数去调用。例如:Math.random()
什么叫动态方法?
动态方法也叫实例方法,在原型对象上添加的方法叫动态方法,通过实例对象去调用。例如:arr.slice()
jQuery的静态方法和动态方法?
给jQuery扩展插件的时候,有两种方式,一种是$.extend()的方式,一种是$.fn的方式,$.extend()扩展的是静态方法,$.fn扩展的是动态方法。
jQuery的静态方法用核心对象去调用,也就是用$去调用,jQuery的动态方法用原型对象去调用,也就是用$.fn去调用。
现在给jQuery扩展一个获取随机色的方法:
(function($){
$.extend({
randomColor:function(){
var col="rgba(";
for(var i=0;i<3;i++){
col+=Math.floor(Math.random()*256)+",";
}
col+=Math.random().toFixed(2)+")";
return col;
}
});
})($);
这就是扩展了一个静态方法,使用时用$去调用。比如给div设置随机色,$("div").css("backgroundColor",$.randomColor);
现在给jQuery扩展一个获取/设置背景色的方法:
(function($){
$.fn.bgc=function(color){
if(!color) return this.css("backgroundColor");
this.css("backgroundColor",color);
return this;
}
})($);
这就是扩展了一个动态方法,使用时用jQ对象去调用。比如设置div的背景色,$("div").bgc("red");这就是$.fn的方式,bgc()就是这个fn函数。
也就是说,使用$.extend()是给jQuery添加了静态方法,使用时用$调用,使用$.fn是给JQuery添加了动态方法,使用时用$.fn调用。
$叫核心对象,$.fn叫原型对象。
typeof $--------->function
typeof $.fn--------->object
$相当于类,由类直接调用方法,$.fn相当于实例对象,实例对象去调用方法。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结