解释一下这句话(流程解析中的1): ‘因为constructor是指向构造器的,所以这里就等同于调用jQuery()方法了’
我们知道:
1 jQuery = function(){ return new jQuery.fn.init(); }
2 jQuery.fn = jQuery.prototype = { init:function(){//.....} , constructor:jQuery }
所以 this.constructor() == jQuery()
我们知道:
1 jQuery = function(){ return new jQuery.fn.init(); }
2 jQuery.fn = jQuery.prototype = { init:function(){//.....} , constructor:jQuery }
所以 this.constructor() == jQuery()
2016-11-09
jQuery对象是一个类数组对象,注意:类数组对象并不是数组!
至于栈结构:则是先进后出,FILO( first in last out ),类似于一个没有盖的木桶,第一次放进去的水(假设不考虑水分子的运动)在最下面,第二次放进去的水在第一次放进去的水的上面....取水时,先取最后一次放进去的水,第一次放进去的水反而最后取出来。
至于栈结构:则是先进后出,FILO( first in last out ),类似于一个没有盖的木桶,第一次放进去的水(假设不考虑水分子的运动)在最下面,第二次放进去的水在第一次放进去的水的上面....取水时,先取最后一次放进去的水,第一次放进去的水反而最后取出来。
2016-11-09
1 插件分两种,一种是静态函数: 不用实例化就可以直接调用,比如:Math.floor();另一种是实例方法:只有实例才能使用,比如: var a = 'hah' ; a.length
2 jQuery.extend() 和 jQuery.fn.extend() 指向的都是同一个函数,之所以能实现不同的功能,就死因为函数内部通过对 this 进行判断进而实现了重载。
3 详细的关于extend()函数的讲解,在我的博客:http://www.cnblogs.com/MnCu8261/p/6039986.html
2 jQuery.extend() 和 jQuery.fn.extend() 指向的都是同一个函数,之所以能实现不同的功能,就死因为函数内部通过对 this 进行判断进而实现了重载。
3 详细的关于extend()函数的讲解,在我的博客:http://www.cnblogs.com/MnCu8261/p/6039986.html
2016-11-09
所以我们如果需要链式的处理,只需要在方法内部方法当前的这个实例对象this就可以了。 课程中的这句话有歧义: 1 像css() hide() addClass() show()等这些方法,直接返回this是没有问题的。
2 而next() childern() parent() 等这些方法,则需要对this进行处理,然后将处理之后的结果进行返回。
不过,总之,链式处理的前提必须是方法中必须返回一个或者一些实例对象
2 而next() childern() parent() 等这些方法,则需要对this进行处理,然后将处理之后的结果进行返回。
不过,总之,链式处理的前提必须是方法中必须返回一个或者一些实例对象
2016-11-09
我觉得叫苦是没用的,本课程的讲解是有前提的----必需熟练掌握javascript基础知识!不掌握这些知识肯定看不懂,其次,我们还要对面向对象,插件编写等有一定的了解,否则我们只能读懂代码,但不清楚:为啥要这样做?如果用那样的方式不是会更简单吗?这么绕来绕去有啥用? 再就是,即使我们能做到以上两点,我们就能游刃有余的学习这门课程了么?我只能说:骚年,图样图私募跑! 我们需要反复阅读本课程,很多东西需要我们反复思考才能理解,才能查漏补缺。
2016-11-09
js中的面向对象这一块不熟悉的,可以看我的博客:http://www.cnblogs.com/MnCu8261/p/5965397.html
2016-11-09
在javascript的世界中一共有四种上下文调用方式:方法调用模式、函数调用模式、构造器调用模式、apply调用模式。我要分别解释一下:
方法调用模式: 类似于foo.bar(),函数作为一个对象的方法出现,this指向foo。
函数调用模式:类似于bar(),函数单独出现,this指向window
构造器调用模式:类似于 var foo = new bar(),this指向new bar()返回的对象。
apply调用:类似于bar.apply(object),this指向object
方法调用模式: 类似于foo.bar(),函数作为一个对象的方法出现,this指向foo。
函数调用模式:类似于bar(),函数单独出现,this指向window
构造器调用模式:类似于 var foo = new bar(),this指向new bar()返回的对象。
apply调用:类似于bar.apply(object),this指向object
2016-11-07
不懂constructor: ajQuery是什么作用的同学们:
每一个构造函数都有一个prototype对象,函数的prototype对象存在一个属性constructor,这个属性是一个指针,指向构造函数。
因为我们使用字面量的形式重新定义了ajQuery的prototype对象,所以prototype里面的constructor属性我们必须自己重新定义
每一个构造函数都有一个prototype对象,函数的prototype对象存在一个属性constructor,这个属性是一个指针,指向构造函数。
因为我们使用字面量的形式重新定义了ajQuery的prototype对象,所以prototype里面的constructor属性我们必须自己重新定义
2016-11-07
这里特别注意是只要使用了$.confilict()就会让出$的控制权,而不管是否发生了冲突。另外老师讲解的确太少了,很难看懂,一些逻辑没有讲清楚。希望老师以后能够更加负责。
2016-11-06
jQuery.fn.init.prototype = jQuery.fn; 实际相当于继承jQuery,init方法返回的实例,this指向的只是init对象,而init对象上是不存在jQuery原型中的方法的
2016-10-31
已采纳回答 / rogerwei2
jQuery.find是Sizzle对象,和我们使用$('#id').find('.classs')的find是不一样。那么,ret是用来存放真实的查询结果的。 jQuery.find的for循环,主要是$('#id')对象可能不止一个.目的是要把classs都要找出来~
2016-10-23