之前也对咋们最熟悉不过的jquery源码的学习,但是随着时间的流逝,,慢慢的遗忘了。先在从新在对亲爱的温故一下!
看干货!!!!
(function(window,undefined) {
jQuery = function() {
//为了防止内存溢出的问题
//一个函数只要一new实例化 就会变成一个实例化对象
console.log(new jQuery.fn.init())
return new jQuery.fn.init()
}
//把原型上面的方法添加到jQuery的fn的上面
jQuery.fn = jQuery.prototype = {
init: function() {
console.log(99)
return this //这样就可以实现链式的调用
},
css: function() {
//里面的方法自由发挥
console.log('这是css的方法')
},
addClass:function(){
//里面的方法自由发挥
console.log('这是addClass的方法')
},
//里面的方法自由发挥
}
/*
* 通过在jquery上面添加一个新的fn这个属性来赋值jquery的原型的上面
* 然后在init上面的原型上面在把jquery的原型上面的方法在继承在上面
* 利用在函数就是一个对象,可以在上面添加一个属性作为中间是的件例如下面的Preson
*
* */
//上面返回的是jQuery原型上面的init的方法没有jQuery原型上面的css。。等方法;
//然后在把之前添加在jQuery上面的fn上面的原型在赋值给init方法这样就实现init方法具有了jquery的所有的方法
jQuery.fn.init.prototype = jQuery.fn
//jQuery.prototype.constructor = jQuery
window.$ = window.jQuery = jQuery
}(window))
看这里就是对js对象的理解!看会的话有收获,不是很专业,希望大神来指导!
//这是对上面jquery的一点爱心解释
var Person = function(){
//return new Person().say()
}
Person.add = '你好啊'
Person.prototype = {
say:function(){
return 'sss'
},
eat:function(){
}
}
console.log(Person.add)
var person = new Person()
console.log(person.add)