尝试分析 Zepto 源码
从 `# 开始
1 | <script src="js/zepto.js"></script> |
控制台打印 $
输出
1 | ƒ (selector, context){ |
可见 $
应该是一个全局变量,然后给它赋值一个函数,查看源码第235行,写了如下:
1 | $ = ƒunction (selector, context){ |
噢,确实是这样,但为什么没用var来声明,找找,发现其实是定义了的,在第9行声明了var $
,故其实zepto可写成如下:
1 | var Zepto = (function(){ |
然后我们发现 $
其返回值又是一个zepto.init()应该又是一个函数,那我再打印$()
应该就是返回init()执行结果,如下:
1 |
返回了一个叫 Z
的对象