浏览 6769 次
锁定老帖子 主题:我对jQuery的理解一
精华帖 (2) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-03-18
最后修改:2011-03-18
各位应该和我一样,对jQuery这个js轻量级框架有着很深的感触,因为有了它,使我们的工作变得更加轻松,使代码的结构变得更加清晰。但是同样也是有负面的影响,如果使用的多了,自己js的能力可能会下降,这个也是因人而异的。 为了增强自己对jQuery的理解,也为了体会一下大师John Resig的代码风格,今天好好的看了下jQuery的源码。 其实jQuery的总体架构还是挺简单的,最基础的代码如下:
(function() { var myQuery = (function() { var myQuery = function(args) { alert(args); }; return myQuery; })(); window.myQuery = window.$ = myQuery; })(); $(88);
上面的代码是我根据jQuery的源码自己改写的比较清晰的组织形式。 首先定义了一个命名空间,在命名空间里面声明了一个函数,函数内部返回一个函数指针,其实这个指针才是真正要用到的对象,之后所有的jQuery都是在这个对象上扩展方法。
window.myQuery = window.$ = myQuery; 上面的方法就是让全局变量中的$指向这个对象指针。
与个人博客同步更新 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-03-21
命名空间通常来讲是个对象,防止不同js互相冲突。你这个叫闭包。
|
|
返回顶楼 | |
发表时间:2011-03-21
hyj1254 写道 命名空间通常来讲是个对象,防止不同js互相冲突。你这个叫闭包。
我的命名空间就是指最外面的那个 |
|
返回顶楼 | |
发表时间:2011-03-21
写的不错
不过用命名空间这个词,容易让人产生误会 |
|
返回顶楼 | |
发表时间:2011-03-21
refinement_code 写道 写的不错
不过用命名空间这个词,容易让人产生误会 其实那个时候我也想不出什么词,然后脑子里好像就只有那个词,希望大虾帮我想个官方点的描述方法,我可以修正 |
|
返回顶楼 | |
发表时间:2011-03-21
写得太简单了吧.....就这么点东西?
|
|
返回顶楼 | |
发表时间:2011-03-21
就算说命名空间,这里的命名空间也是
window.myQuery = window.$ = myQuery; 这一句 |
|
返回顶楼 | |
发表时间:2011-03-24
没含量。。。
|
|
返回顶楼 | |
发表时间:2011-03-25
。其实有jquery的源码分析,以前的je的js高手写的
|
|
返回顶楼 | |