立即執(zhí)行函數(shù) 模塊化開發(fā)
(function(window){
var jQuery =function(){
}
window.jQuery = jQuery
})(window)
jQuery對象繼承原型鏈上的方法
(function(window){
var jQuery = function(selector,context){
return new jQuery.fn.init(selector,context);
}
jQuery.fn = jQuery.pototype = {
constructor:jQuery,
init:function(selector,context){
}
}
jQuery.fn.init.prototype = jQuery.fn = jQuery.prototype;
})(window)
jQuery.fn.entend和jQuery.extend
1.jquery.fn.extend jquery對象身上都有的方法 原型鏈上添加方法
2.jquery.extend jquery類本身添加方法
鏈?zhǔn)秸{(diào)用
var s = {
method1:function(){
console.log("method1")
return this;
}
method2:function(){
console.log("method2")
return this;
}
}
方法重載
function addMethod(obj,name,fn){
var old = obj[name];
obj[name]= function(){
console.log(fn.name)
if(fn.length === arguments.length){
console.log(111)
return fn.apply(this,arguments)
}else{
console.log(222)
return old.apply(this,arguments)
}
}
}
var p ={num: ["zhang","li","wang"]};
function f1(){
console.log("方法1")
}
function f2(name){
console.log("方法2")
}
function f3(name,age){
console.log("方法3")
}
addMethod(p,"find",f1);
addMethod(p,"find",f2)
addMethod(p,"find",f3)
p.find();
p.find("wang")
p.find("wang","li")