文章详情页
javascript - jquery中的原型链
问题描述
var jQuery = function(global, factory) { return new jQuery.fn.init();}jQuery.fn = jQuery.prototype = { constructor: jQuery, init: function() {this.jquery = 3;return this; }, each: function() {console.log(’each’);return this; }}jQuery.fn.init.prototype = jQuery.fn;// init构造函数jQuery().each().each()
上面是一段jQuery源码,我的问题是为什么代码最后一行的第二个each函数还能够执行
问题解答
回答1:原型中this指向的是实例对象,each里return this来返回这个对象,从而实现链式调用
回答2:两个each跟一个each效果一样,对象都是jQuery
回答3:因为你return的是this,别说两个了,10个也可以
回答4:链式编程
return this
标签:
JavaScript
相关文章:
1. html5 - 百度Ueditor代码高亮和代码段滚动条冲突是怎么回事?2. javascript - vue 数据更新了。但是dom没有更新,,,,,如图3. docker 17.03 怎么配置 registry mirror ?4. javascript - 读取页面源码,页面中所有的换行都被当成<br/>读取出来 了,,求解应该怎么让它被正确的解析5. javascript - 关于一段 for 循环代码执行顺序的问题6. javascript - 静态页面引公共头尾文件,js怎么写吖?7. docker网络端口映射,没有方便点的操作方法么?8. docker gitlab 如何git clone?9. java - 3个dao的数据根据请求参数选择一个映射到一个url上,怎么写比较好?10. java - 为什么要将Runnable接口的子类对象传递给Thread的构造函数?
排行榜