随笔分类 - JavaScript
摘要:前言 我们知道了很多了初始化数组的方法,但是初始化数组之后,数组中的每一项元素默认为 empty 空位占位,如何对数组这些空位添加默认的元素,ES6提供了 fill() 方法实现这一操作。本文总结数组 fill() 方法的详细使用。 正文 1、fill() 语法 fill() 方法用一个固定值填充一
阅读全文
摘要:前言 ECMAScript 6 中新增了 Symbol 符号这一基本数据类型,那么Symbol 是用来干什么的,对开发又有什么帮助呢?本文来总结记录一下 Symbol 的相关知识点。 正文 Symbol (符号)是 ECMAScript 6 新增的一种基本数据类型。符号是原始值,且符号实例是唯一、不
阅读全文
摘要:前言 日常的开发中,我们经常会遇到判断一个变量的数据类型或者该变量是否为空值的情况,你是如何去选择判断类型的操作符的?本文来总结记录一下我们开发人员必须掌握的关于 typeof 和 instanceof 的知识点以及在开发中的使用建议,同时在面试过程中也经常会遇到这样的问题。 正文 1、typeof
阅读全文
摘要:前言 在日常开发中我们经常使用到递归、break、continue、return等语句改变程序运行的位置,其实,在 JavaScript 中还提供了标签语句,用于标记指定的代码块,便于跳转到指定的位置。本文来记录一下标签语句的使用方法。 正文 1.标签语句介绍 标签语句用于给语句加标签,标签可以与变
阅读全文
摘要:前言 JavaScript 语言在ES6中引入了 class 这一个关键字,在学习面试的中,经常会遇到面试官问到谈一下你对 ES6 中class的认识,同时我们的代码中如何去使用这个关键字,使用这个关键字需要注意什么,这篇来总结一下相关知识点。 正文 1.es6之前创建对象 先来看下es6之前我们要
阅读全文
摘要:前言 前端开发语言 JavaScript 不像一些后端语言,集合数据类型只有数组类型,尽管数组也是通过键值对存储在内存中,且数组经常被当作队列和栈数据解构来使用,但是当遇到特殊情况的时候,比如要求键的索引是非数值类型的时候呢,用数组处理就变得十分麻烦,为了弥补这些缺点,ES6 引入了 Set 和 M
阅读全文
摘要:前言 es6 中引入了解构这一新特性,了解解构成为一个格合前端必须掌握的基础知识,不仅作为了面试的重要考查知识,同时能极大提高我们平常工作的开发效率。本文来总结一下需要掌握的解构知识点。 正文 1.什么是解构赋值 解构赋值允许你使用类似数组或对象字面量的语法将数组和对象的属性赋给各种变量。这种赋值语
阅读全文
摘要:前言 字符串作为 JavScript 的基本数据类型,在开发以及面试过程中作为程序员对基础掌握情况的重要考点,本文来总结一下字符串的相关属性以及用法。包含了ES6中的一些新语法特性。 正文 1.字符串的创建 JavaScript 中创建字符串的方法主要有两种。一种是通过字面量的方式创建,另一种是通过
阅读全文
摘要:前言 变量的声明是每一种编程语言中最基础的部分,在大多数的编程语言中,变量总是在声明的地方创建,然后 JavScript 并不是这样,变量的实际创建位置取决于你如何声明它,加上 es6 引入了 let 和 const 便于在开发中更好的控制变量的作用域。同样这部分知识也是面试中经常遇到的问题。本篇博
阅读全文
摘要:前言 阅读本文前先来思考一个问题,我们在 js 中创建一个变量,我们并没有给这个变量添加一些方法,比如 toString() 方法,为什么我们可以直接使用这个方法呢?如以下代码,带着这样的问题,我们来学习本节的原型和原型链的一些知识。 正文 1.构造函数创建对象问题 function Person(
阅读全文
摘要:前言 学习过 java 的同学应该都知道,常见的继承有接口继承和实现继承,接口继承只需要继承父类的方法签名,实现继承则继承父类的实际的方法,js 中主要依靠原型链来实现继承,无法做接口继承。 学习 js 继承之前,我们需要了解原型这一 概念,我们知道 js 中创建对象通过构造函数来创建,而每一个构造
阅读全文
摘要:前言 作为前端开发者,谈起如何创建一个对象,你是否是只能想到利用常见的字面量的方式创建对象?你是否想过new Object()创建对象的过程是什么?本文整理了一些常见的创建对象的方法。 正文 创建对象的方法总结大概有以下几种: (1)对象字面量的方式; var Person = {}; //相当于v
阅读全文
摘要:前言 关于this的指向问题是前端面试中常考的知识点,也是我们开发学习中较难理解的问题。作为JavaScript的基础,需要我们彻底理解这一关键词。this作为JavaScript中非常复复杂的机制,值得我们付出更大的代价来学习理解。这里分享一下我的学习笔记。 正文 1.this是什么?this指向
阅读全文
摘要:前言 闭包和垃圾回收机制常常作为前端学习开发中的难点,也经常在面试中遇到这样的问题,本文记录一下在学习工作中关于这方面的笔记。 正文 1.闭包 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。作为一个JavaScript开发者,理解闭包十分重要
阅读全文
摘要:前言 如果你是或者你想成为一名合格的前端开发工作者,你必须知道JavaScript代码在执行过程,知道执行上下文、作用域、变量提升等相关概念,并且熟练应用到自己的代码中。本文参考了你不知道的JavaScript,和JavaScript高级程序设计,以及部分博客。 正文 1.JavaScript代码的
阅读全文
摘要:前言 阅读本文前先来思考一个问题,面对一个非空数组,你如何快速对数组进行遍历,如何快速找到数组中第一个我们需要关注的数据元素,并且如何知道该元素在数组中对应的下标索引,可能用for循环遍历,然后判断元素是否符合条件,逐个遍历查找到需要的元素即可,实现起来也没有多么麻烦,本文就来介绍一个高阶一点的方法
阅读全文
摘要:前言 阅读本文之前先来思考一个问题,如何如实现判断一个数组中是否存在满足条件的元素,如何去判断数组中是否全部元素都满足判断条件,这里可能能想到使用for循环遍历数组,if()判断每一项是否符合条件,同样也可以使用forEach()遍历,filter()过滤出满足条件的元素并判断元素个数...这里介绍
阅读全文
摘要:前言 阅读文章之前先来考虑一个问题,如何去实现迭代一个数组,并且把它累加到一个值中?首先能够想到的是设置一个初始值,然后通过循环遍历这个数组,将数组中的值一项一项累加起来,然后返回这个设置的值就是最终的结果。这样实现起来也不算太复杂,不需要写太多的代码,这篇就介绍一个数组的进阶一点的用法——redu
阅读全文
摘要:前言 你还在通过for循环遍历数组吗?你还在遍历之后一项一项的通过if判断过滤你需要的数据吗?你还在写着一大堆代码实现一个简单的过滤数据功能吗?那么,今天他来了。他就是这里要介绍的es6中数组filter()过滤方法的使用,理解比较浅显,希望在工作和学习中遇到的时候方便查找。 正文 语法及定义 定义
阅读全文
摘要:前言 作为一个刚刚踏入前端世界的小白,工作中看到身边同事大佬写的代码就像古诗一样简介整齐,而我的代码如同一堆散沙,看上去毫无逻辑感,而且简单的功能需要一大堆代码才能实现,不仅加大了自己的工作量,同时也给调试和维护增加了很大难度。这里拿我的代码和大佬的做一下对比 先上我的代码 CategoriesAp
阅读全文