未知分类

栈和队列的区别?

  • 栈的插入和删除操作都是在一端进行的,而队列的操作却是在连端进行的。
  • 队列先进先出,栈后进后出
  • 栈只允许在表尾一端进行插入和删除,而队列只允许在表尾一端进行插入,在表头一端进行删除

栈和堆的区别?

  • 栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量指等。
  • 堆区(heap)— 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。
  • 堆(数据结构):堆可以被看成是一颗树,如:堆排序;
  • 栈(数据结构):一种先进后出的数据结构。

你觉得jquery或zepto源码有哪些写的好的地方

jquery源码封装在一个匿名函数的自执行环境中,有助于防止变量的全局污染,然后通过传入window对象参数,可以使window对象作为局部变量使用,好处是当jquery中访问window对象的时候,就不用将作用域链退回到顶层作用域了,从而可以更快的访问window对象。同样,传入undefined参数,可以缩短查找undefined时的作用域链。

(function( window, undefined ) {

         //用一个函数域包起来,就是所谓的沙箱

         //在这里边var定义的变量,属于这个函数域内的局部变量,避免污染全局

         //把当前沙箱需要的外部变量通过函数参数引入进来

         //只要保证参数对内提供的接口的一致性,你还可以随意替换传进来的这个参数

        window.jQuery = window.$ = jQuery;

    })( window );

jquery将一些原型属性和方法封装在了jquery.prototype中,为了缩短名称,又赋值给了jquery.fn,这是很形象的写法。有一些数组或对象的方法经常能使用到,jquery将其保存为局部变量以提高访问速度。
jquery实现的链式调用可以节约代码,所返回的都是同一个对象,可以提高代码效率。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,161评论 1 32
  • 1. 基础知识 1.1、 基本概念、 功能 冯诺伊曼体系结构1、计算机处理的数据和指令一律用二进制数表示2、顺序执...
    yunpiao阅读 5,466评论 1 22
  • 1、算法的概念 (1)概念:是指解题方案的准确而完整的描述。 【考题1】在计算机中,算法是指() A查询方法B加工...
    成都小菜阅读 1,718评论 0 15
  • 今日立夏,送春归去,这个夏天如期而至。 (一) 听过太多身边的朋友抱怨夏天:炎热、焦躁、强烈的紫外...
    木王也阅读 342评论 0 0
  • 五一假期下雨,不适合出门。 一直被催更新,可是总是能够找到理由,不写!归根究底还是懒的缘故。 以前有个新开...
    随意青藤阅读 520评论 0 0