课程
/前端开发
/jQuery
/jQuery源码解析(架构与依赖模块)
return new jQuery.fn.init(selector);为什么不会出现递归循环
2016-05-07
源自:jQuery源码解析(架构与依赖模块) 2-2
正在回答
去看一下new的过程,new的创建过程分为四步:
(1)创建一个新对象
(2)将构造函数的作用域赋值给新的对象
(3)执行构造函数的代码
(4)返回新对象
题目总的代码 return 返回的是一个对象,当然不会产生循环调用
萌萌哒的小超超 提问者
举报
由浅入深地剖析jQuery库的设计与实现,揭开框架背后的秘密
3 回答在init构造函数中,不要最后一行return this,结果又什么不一样?
1 回答为何不用instanceof的方式来实现构造器的无new形式而用init?
3 回答为什么会引起循环引用和全局污染
2 回答构造函数返回 new jQuery.fn.init() 相比 if(!this instanceof jQuery) {return new jQuery();}this.init();有什么明显好处?
4 回答函数前面加 ; 号 什么意思? 代表什么? 还可以这么写吗?