JS中的栈和堆是什么?优缺点?
理解 JavaScript 中的栈(stack)和堆(heap)是理解 JavaScript 内存管理的关键。栈和堆是两种不同的内存分配方式,用于存储数据和变量。在本文中,我将详细解释栈和堆的概念、优缺点,并提供示例代码片段来帮助读者更好地理解。 1. 栈(Stack)栈是一种线性数据结构,遵循先进后出(FILO)的原则。在计算机科学中,栈被用于存储函数调用、局部变量、函数参数以及程序执行的上下文。 1.1 栈的特点: 先进后出(FILO):最后压入栈的元素最先弹出。 有限大小:栈的大小是有限的,当栈空间耗尽时会发生栈溢出(stack overflow)。 快速访问:由于栈是一种简单的数据结构,访问和操作栈的速度非常快。 1.2 栈的优点:快速分配和释放内存:由于栈的数据结构特点,分配和释放栈内存的操作非常高效,不会出现内存碎片问题。 1.3 栈的缺点: 有限大小:栈的大小是有限的,当栈空间不够用时会发生栈溢出。 局部性:栈上存储的数据只能在局部作用域中访问,不适合存储大量的数据或长期保存的数据。 1.4 示例代码:123456789function add(a, b)...
事件冒泡
事件冒泡定义子元素触发事件时,所有的祖先元素都会触发相同的事件
css box-sizing
前言 其实一直没仔细研究过CSS3新增的这个属性box-sizing,只是经常会看到其它网页和公司项目里面有用到这个属性。 要想清楚这个属性的作用,首先要理解盒子模型,盒子模型是指:外边距(margin)+ border(边框) + 内边距(padding)+ content(内容),可以把每一个容器,比如div,都看做是一个盒子模型 比如你给一个div设置宽高为500px,但实际你设置的只是content,之后你又设置了padding:10px;border:1px solid red; 这时div的宽高就会变为544px(content 500px + padding 40px + border 4px)相当于一个元素的实际宽高是由: padding + border + content 组成 定义和用法 box-sizing 属性允许您以特定的方式定义匹配某个区域的特定元素。 例如,假如您需要并排放置两个带边框的框,可通过将 box-sizing 设置为...
hexo常用命令
123456789hexo new "name" # 新建文章hexo new page "name" # 新建页面hexo g # 生成页面hexo d # 部署hexo g -d # 生成页面并部署hexo s # 本地预览hexo clean # 清除缓存和已生成的静态文件hexo help # 帮助
git常见操作
Git操作场景 1、新建分支做开发首先确保本地没有被修改的文件 12345git checkout mastergit checkout -b fa_{branch_name}editgit add -A && git commit -m "comment ..."git push -u presandbox fa{branch_name} 2、别人已经新建分支(我本地没有该分支,需要做后续开发) 首先确保本地没有被修改的文件 1git checkout master && git pull presandbox 查看所有的远端开发分支 12git branch -r git checkout -b fa{branch_name} --trace presandbox/fa{branch_name} 根据业务需求,修改相应的文件和代码 。。。 对修改完毕的代码做本地测试,如果没有问题的话,使用下面的代码做本地提交 1git...
css定位
CSS Positionposition 属性指定了元素的定位类型。 position 属性的五个值: static relative fixed absolute sticky 元素可以使用的顶部,底部,左侧和右侧属性定位。然而,这些属性无法工作,除非事先设定position属性。他们也有不同的工作方式,这取决于定位方法 static 定位HTML 元素的默认值,即没有定位,遵循正常的文档流对象。 静态定位的元素不会受到 top, bottom, left, right影响。 fixed 定位元素的位置相对于浏览器窗口是固定位置。 即使窗口是滚动的它也不会移动: 注意: Fixed 定位在 IE7 和 IE8 下需要描述 !DOCTYPE 才能支持。 Fixed定位使元素的位置与文档流无关,因此不占据空间。 Fixed定位的元素和其他元素重叠。 relative 定位 相对定位元素的定位是相对其正常位置。 相对相对定位元素,但它原本所占的空间不会改变。 相对定位元素经常被用来作为绝对定位元素的容器块。 absolute...