JavaScript学习笔记:DOM的操作
通过上一节的学习,对JavaScript中的DOM有了一定的认识。虽然对DOM中相关的知识点有一定的概念,但还是缺乏对DOM的实际操作。如果你仔细阅读过上一篇文章的话,你应该会发现,当时也提到了一些DOM操作相关的东西,比如,DOM的增、删、改和查等。那么今天我们就来看看这些方面的东西。
通过上一节的学习,对JavaScript中的DOM有了一定的认识。虽然对DOM中相关的知识点有一定的概念,但还是缺乏对DOM的实际操作。如果你仔细阅读过上一篇文章的话,你应该会发现,当时也提到了一些DOM操作相关的东西,比如,DOM的增、删、改和查等。那么今天我们就来看看这些方面的东西。
JavaScript知识一直都是自己的短板,近一年多来一直在致力于增加这方面的能力,也在W3cplus梳理了一些有关于自己学习JavaScript的笔记。加上最近学习Vue相关的技能,越发自己在JavaScript方面的能力还欠缺很多,所以这段时间一直在补习JavaScript中DOM相关的知识。希望对于初学者有所帮助。
在8年前,我刚开始学习JavaScript时,让我觉得有点奇怪的是,undefined
和null
同样代表空值。它们之间是否有明确的不同?它们看起来都定义为“空”,此外,比较null== undefined
的结果是true
。大多数的现代语言如Ruby, Python 或Java只有一个空值(nil
或null
),而这,似乎才是合理的。在JavaScript中,当访问一个尚未初始化的变量或对象属性时,解释器会返回undefined
。
当您开始学习JavaScript时,首先需要学习的是数据类型。只要我们讨论Number
、String
、Boolean
和Object
时,一旦涉及到null
和undefined
出现时,作为初学者要理解清楚他们就可能会有点混乱。
在JavaScript中合并多个对象是一个很常见的事情。但在JavaScript中,到目前为止并没有一种很方便的语法来进行合并。在ES5中,通过使用Lodash的_.extend(target, [sources])
(或者其他选项),在ES2015中引入了Object.assign(target, [sources])
。幸运的是,对象的spread
语法(ECMAScript第3阶段建议)是如何操作对象,提供了一个简短且易于遵循的语法。
经过《前端路由一探》的学习,简单的了解了Web路由方面的知识。另外在学习HTML5 History API时,知道可以通过这个API来实现Web页面的跳转,而且浏览器不需要刷新。那么今天我们来看如何使用JavaScript写Web路由。从网上找了两个示例,第一个是@KrasimirTsonev用100行代码写的一个示例,另一个是@Joakim Carlstein用20行代码写的一个示例。首先来看第一个示例。
在很多场景下我们需要通过JavaScript来获取视口或DOM元素的大小、位置以及滚动高度。最常见的一个效果,导航吸顶的一个效果。那么今天就来学习这方面相关的知识。
学习每一门语言,一般都是从其数据结构开始,JavaScript也是一样,而JavaScript的数据结构中对象(Object
)是最基础也是使用最频繁的概念和语法,坊间有言,JavaScript中,一切皆对象,基本可以描述对象在JavaScript中的地位,而且JavaScript中对象的强大也使其地位名副其实,本篇介绍JavaScript对象属性描述器接口及其在数据视图绑定方向的实践,然后对Vue.js的响应式原理进行剖析。
前段时间在学习Vue的双向绑定原理及实现时,简单的知道Object.defineProperty()
有很大的用处。这个方法会直接在一个对象上定义一个新属性,或者修改一个对象现有的属性,并返回这个对象。感觉他非常强大,但并不知道其中原委。回过头来重新补一下这方面的基础知识。
大家都知道熟悉掌握工具的使用能让我们事倍功倍,对完成任务的产生的影响非常大。对于JavaScript的调试,都一直说是难以调试,但事实上如果你掌握一些调试技巧,那么解决一些问题或调试Bug的时间会少很多。这篇文章整理了14个你可能不知道的调试技巧,但是下次你发现自己需要调试的JavaScript代码时,可能会用得上,也会因此记住这些调试技巧。这些调试技巧大部分都是针对Chrome和Firefox的浏览器,尽管也有许多和其他浏览器调试工具一样。接下来,我们开始了解这些调试技巧。