目录
一、extend方法
二、添加一些工具类方法:$.xxx()
实现1:
实现2:
一、extend方法
jQuery.fn.extend = jQuery.extend = function(...args){ let target,source=[]; source=[...args]; //判断2种情况 //$.extend({}) -->给$添加属性 //$.fn.extend({}) -->给$.fn添加属性 //参数个数>1,就是给第一个实参添加属性 // $.extend -->jQuery.extend 方法调用形式 if(args.length === 1){ //$.extend target=this; }else{ //参数个数>1 target = args[0]; //目标对象就是第一个实参 source.splice(0,1); //源对象就是第二个及其后面的实参 } //实现拷贝部分的逻辑: Object.assign(target,...source) return target; }
二、添加一些工具类方法:$.xxx()
例如: $.ajax $.post $.get $.type $.each
实现1:
jQuery.extend({ each(){ console.log('each方法'); }, ajax(){ console.log('ajax方法'); } })
调用1:
$.each(); $.ajax();
实现2:
//添加dom方法 jQuery.fn.extend({ attr(){ console.log('attr方法'); }, on(){ console.log('on方法'); } })
调用2:
$("div").attr(); $("div").on();