边缘计算点燃新风暴
|
做前端开发的同学都知道,网页的基本组成部分是 HTML,JavaScript 和 CSS。开发人员通常更关注 JavaScript 和 CSS ,实践着各种语言规范和设计模式。对于 HTML 的关注度则明显偏少,只要能做出设计师画的界面就万事大吉了,不怎么去关心 HTML 是不是规范合理。于是下面的情况随处可见:
看到没?一招 <div> 走天下!这样有没有问题?好像也没什么大问题,毕竟页面看起来符合设计,也能正常交互。但是你想过没有,如果<div>能解决一切,为什么还需要其余几十上百种标签呢?这就要说到 HTML 的语义化了。 1什么是语义化 语义化就是说,HTML 元素具有相应的含义。它用于描述元素的内容或者跟其他元素的关系。在 HTML 里,除了<div>和<span>,基本上都是语义化的元素。 标签名的表义程度也是不一样的,比如<section> 比 <article>对内容的描述就更模糊。<section>也是语义化的,因为它表明内容应该从属于一个组。而<article> 不仅表示它的内容从属于一个组,还是一篇文章。 为了进一步说明语义化的重要性,下面用标题和按钮元素来举例。 标题元素
<h1> 是页面的标题,加上下方的 <h2> 就形成了页面的层级结构。 这将在堆中创建一个新对象,并在堆栈中创建对该对象的引用。 垃圾回收 现在,我们知道 JS 如何为各种对象分配内存,但是在内存生命周期,还有最后一步:释放内存。 就像内存分配一样,JavaScript引擎也为我们处理这一步骤。更具体地说,垃圾收集器负责此工作。 一旦 JS 引擎识别变量或函数不在被需要时,它就会释放它所占用的内存。 这样做的主要问题是,是否仍然需要一些内存是一个无法确定的问题,这意味着不可能有一种算法能够在不再需要那一刻立即收集不再需要的所有内存。 一些算法可以很好地解决这个问题。我将在本节中讨论最常用的方法:引用计数和标记清除算法。 引用计数 当声明了一个变量并将一个引用类型值赋值该变量时,则这个值的引用次数就是1。如果同一个值又被赋给另外一个变量,则该值得引用次数加1。相反,如果包含对这个值引用的变量又取 得了另外一个值,则这个值的引用次数减1。 当这个值的引用次数变成 0时,则说明没有办法再访问这个值了,因而就可以将其占用的内存空间回收回来。这样,当垃圾收集器下次再运行时,它就会释放那 些引用次数为零的值所占用的内存。
我们看下面的例子。 (编辑:淮安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
