爱创课堂每日一题第二十八天你觉得jQuery或zepto源码有哪些写的好的地方?
2017-10-10 10:18
330 查看
(答案仅供参考)
jquery源码封装在一个匿名函数的自执行环境中,有助于防止变量的全局污染,然后通过传入window对象参数,可以使window对象作为局部变量使用,好处是当jquery中访问window对象的时候,就不用将作用域链退回到顶层作用域了,从而可以更快的访问window对象。同样,传入undefined参数,可以缩短查找undefined时的作用域链。
(function( window, undefined ) {
//用一个函数域包起来,就是所谓的沙箱
//在这里边var定义的变量,属于这个函数域内的局部变量,避免污染全局
//把当前沙箱需要的外部变量通过函数参数引入进来
//只要保证参数对内提供的接口的一致性,你还可以随意替换传进来的这个参数
window.jQuery = window.$ = jQuery;
})( window );
jquery将一些原型属性和方法封装在了jquery.prototype中,为了缩短名称,又赋值给了jquery.fn,这是很形象的写法。
有一些数组或对象的方法经常能使用到,jQuery将其保存为局部变量以提高访问速度。
jquery实现的链式调用可以节约代码,所返回的都是同一个对象,可以提高代码效率。
jquery源码封装在一个匿名函数的自执行环境中,有助于防止变量的全局污染,然后通过传入window对象参数,可以使window对象作为局部变量使用,好处是当jquery中访问window对象的时候,就不用将作用域链退回到顶层作用域了,从而可以更快的访问window对象。同样,传入undefined参数,可以缩短查找undefined时的作用域链。
(function( window, undefined ) {
//用一个函数域包起来,就是所谓的沙箱
//在这里边var定义的变量,属于这个函数域内的局部变量,避免污染全局
//把当前沙箱需要的外部变量通过函数参数引入进来
//只要保证参数对内提供的接口的一致性,你还可以随意替换传进来的这个参数
window.jQuery = window.$ = jQuery;
})( window );
jquery将一些原型属性和方法封装在了jquery.prototype中,为了缩短名称,又赋值给了jquery.fn,这是很形象的写法。
有一些数组或对象的方法经常能使用到,jQuery将其保存为局部变量以提高访问速度。
jquery实现的链式调用可以节约代码,所返回的都是同一个对象,可以提高代码效率。
相关文章推荐
- 你觉得jQuery源码中有哪些写得好的地方?
- 爱创课堂每日一题第三十四天-用过哪些设计模式?
- 爱创课堂每日一题第四十八天- html5有哪些新特性、移除了那些元素?
- jQuery或zepto源码有哪些写的好的地方?
- 爱创课堂每日一题第二十一天-移动端性能优化?
- 爱创课堂每日一题九十五天-行内元素有哪些?块级元素有哪些?CSS的盒模型?
- 爱创课堂每日一题第十天 渐进增强和优雅降级?
- 爱创课堂每日一题第四十九天- 什么是 FOUC(无样式内容闪烁)?你如何来避免 FOUC?
- 爱创课堂每日一题九十六天- 行内元素有哪些?块级元素有哪些? 空(void)元素有
- 爱创课堂每日一题-你做的页面在哪些流览器测试过?
- 爱创课堂每日一题第五十三天- 哪些操作会造成内存泄漏?
- 爱创课堂每日一题101天-哪些操作会造成内存泄漏?
- 爱创课堂每日一题第四十七天- 清除浮动的几种方法?
- 爱创课堂每日一题第二十五天-2017/9/27 栈和队列的区别??
- 爱创课堂每日一题第十九天 你觉得前端工程的价值体现在哪?
- 爱创课堂每日一题九十九天- 行内元素有哪些?块级元素有哪些? 空(void)元素有
- 爱创课堂每日一题第三十七天- 浏览器本地存储?
- 爱创课堂每日一题第二十九天- ES6的了解?
- 爱创课堂每日一题第三十八天-web storage和cookie的区别?
- 爱创课堂每日一题第四十二天- 你知道多少种Doctype文档类型?