![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
前端
文章平均质量分 73
柴不是柴
这个作者很懒,什么都没留下…
展开
-
JavaScript 游戏系列(一): 贪吃蛇
JavaScript 游戏系列目录文章目录JavaScript 游戏系列目录一、实例截图二、游戏分析三、HTML 与 CSS 文件1、入口文件2、样式文件四、游戏逻辑的实现1、创建类一、实例截图默认界面游戏界面二、游戏分析首先,从截图里我们能够看到,游戏存在着 地图,蛇,食物 。由此我们可以划分三个类 蛇类,食物类 与 游戏类。每个类包含如下功能:Snake 类 :移动改变移动方向验证是否撞到自身长大(吃到食物)Food 类 :定义食物位置Game 类 :原创 2021-01-26 15:56:49 · 213 阅读 · 0 评论 -
JavaScript 数据结构(十一):图
JavaScript 数据结构系列目录JavaScript 数据结构(一): 数组JavaScript 数据结构(二): 栈JavaScript 数据结构(三):队列JavaScript 数据结构(四):双端队列JavaScript 数据结构(五):链表JavaScript 数据结构(六):集合JavaScript 数据结构(七):字典JavaScript 数据结构(八):散列表JavaScript 数据结构(九): 树文章目录JavaScript 数据结构系列目录一、图的概述二原创 2021-01-14 18:56:55 · 204 阅读 · 0 评论 -
JavaScript 数据结构(十):二叉堆和堆排序
JavaScript 数据结构系列目录JavaScript 数据结构(一): 数组JavaScript 数据结构(二): 栈JavaScript 数据结构(三):队列JavaScript 数据结构(四):双端队列JavaScript 数据结构(五):链表JavaScript 数据结构(六):集合JavaScript 数据结构(七):字典JavaScript 数据结构(八):散列表JavaScript 数据结构(九):树文章目录JavaScript 数据结构系列目录一、二叉堆1、二原创 2021-01-14 14:44:22 · 172 阅读 · 0 评论 -
JavaScript 数据结构(九): 树
JavaScript 数据结构系列目录JavaScript 数据结构(一): 数组JavaScript 数据结构(二): 栈JavaScript 数据结构(三):队列JavaScript 数据结构(四):双端队列JavaScript 数据结构(五):链表JavaScript 数据结构(六):集合JavaScript 数据结构(七):字典JavaScript 数据结构(八):散列表文章目录JavaScript 数据结构系列目录一、树的概述一、树的概述树是一种由 n (n >原创 2021-01-14 09:58:23 · 206 阅读 · 1 评论 -
JavaScript 数据结构(八):散列表
JavaScript 数据结构系列目录JavaScript 数据结构(一): 数组JavaScript 数据结构(二): 栈JavaScript 数据结构(三):队列JavaScript 数据结构(四):双端队列JavaScript 数据结构(五):链表JavaScript 数据结构(六):集合JavaScript 数据结构(七):字典文章目录JavaScript 数据结构系列目录一、散列表的概述二、创建散列表类三、为散列表类补充方法1、conversationHashCode 方法原创 2021-01-13 15:01:15 · 235 阅读 · 0 评论 -
JavaScript 数据结构(四):双端队列
JavaScript 数据结构系列目录JavaScript 数据结构(一): 数组JavaScript 数据结构(二): 栈JavaScript 数据结构(三):队列文章目录JavaScript 数据结构系列目录一、队列的概述二、创建一个队列类1、enqueue 方法2、dequeue 方法3、seeTop 方法4、isEmpty 与 size 方法5、clear 方法6、toString 方法三、使用 Queue 类相关文章一、队列的概述队列是一种遵循 先进先出(FIFO) 一种有原创 2021-01-12 19:57:54 · 329 阅读 · 0 评论 -
JavaScript 数据结构(三):队列
JavaScript 数据结构系列目录JavaScript 数据结构基础(一): 数组JavaScript 数据结构(二): 栈文章目录JavaScript 数据结构系列目录一、队列的概述二、创建一个队列类1、enqueue 方法2、dequeue 方法3、seeTop 方法4、isEmpty 与 size 方法5、clear 方法6、toString 方法三、使用 Queue 类相关文章一、队列的概述队列是一种遵循 先进先出(FIFO) 一种有序的项。新添加的元素会存放于底部,而将删原创 2021-01-12 19:14:35 · 342 阅读 · 0 评论 -
JavaScript 数据结构(二): 栈
JavaScript 数据结构基础目录JavaScript 数据结构基础(一): 数组文章目录JavaScript 数据结构基础目录一、栈的概述二、创建一个基于数组的栈1、push 方法2、pop 方法3、seeTop 方法4、isEmpty 方法5、size 方法6、clear 方法三、创建一个基于对象的栈1、push 方法2、isEmpty 与 size 方法3、pop 方法4、seeTop 与 clear 方法5、toString 方法保护数据结构内部元素使用创建的栈类相关文章一、栈的概原创 2021-01-12 17:25:51 · 198 阅读 · 0 评论 -
JavaScript 数据结构(一): 数组
JavaScript 数据结构基础目录文章目录JavaScript 数据结构基础目录前言一、数组的概述二、数组的应用场景三、数组的创建四、数组元素访问与迭代数组五、添加数组元素1、在数组末尾添加元素2、在数组头部添加元素六、删除数组元素1、移除尾部元素2、移除头部元素3、在数组任意位置删除或添加元素七、二维数组循环迭代二维数组八、多维数组相关文章前言本着巩固知识的目的,一边学着一边写博客。如果能够帮到正在观看这篇文章或者这个系列的你,那我特别荣幸。当然了,受限于个人水平不是很高,所以可能有些原创 2021-01-12 16:07:04 · 309 阅读 · 0 评论 -
JavaScript 数据结构(七):字典
JavaScript 字典概念,结构与应用前言一、创建字典类二、为字典类方法实现功能3、使用字典类前言什么是字典字典与集合类似,与集合以 [值,值] 的形式存储元素不同,字典是以 [键,值] 的形式存储元素。而字典也被称之为映射、符号表或关联数组一、创建字典类创建字典骨架、辅助类与辅助函数。class Dictionary { constructor(toStrFn = defaultToString) { this.toStrFn = toStrFn;原创 2021-01-11 10:33:33 · 814 阅读 · 0 评论 -
JavaScript 数据结构(六):集合
JavaScript 集合概念、结构与应用前言创建集合类使用集合类集合运算1、并集2、交集3、差集4、子集前言什么是集合集合是由一组无序不重复的项组成。比如说一个大于或等于0的整数组成的自然数集合: N = { 0,1,2,3,4,5… }。集合中的对象列表使用花括号( {} )包围。如果一个集合里没有任何元素,那么该集合又被称之为 空集。创建集合类ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。又因集合里值不会重复,所以我们会在这个类的基原创 2021-01-09 16:50:32 · 650 阅读 · 1 评论 -
JavaScript 数据结构(五):链表
链表是线性表的一种,所谓的线性表包含顺序线性表和链表,顺序线性表是用数组实现的,在内存中有顺序排列,通过改变数组大小实现。而链表不是用顺序实现的,其使用指针实现,在内存中不连续。意思就是说,链表将一系列不连续的内存联系起来,将那种碎片内存进行合理的利用,解决空间问题。原创 2021-01-12 20:02:07 · 358 阅读 · 0 评论 -
JavaScript 使用双端队列写出回文检查器
什么是回文回文是正反都能读通的单词,词组,数或一些列字符的序列,例如 madam 与 racecar。如何实现回文检查其的功能如上所述,回文是一些正反颠倒都能和之前的值一样的序列。那么我们只需要抽出第一位与最后一位,第二位与倒数第二位来对比即可。class Deque { constructor() { this.count = 0; this.lowestCount = 0; this.items = {}; } s原创 2021-01-08 15:00:52 · 222 阅读 · 0 评论 -
JavaScript 栈,队列与双端队列概念
JavaScript 栈,队列与双端队列概念1、栈2、队列1、栈什么是栈(Stack)栈是一种遵从 后进先出/先进后出 原则的一种有序集合。新添加或将删除的元素都保存在栈的同一端,即 栈顶。与栈顶相反的另一端称之为 栈底。通常在栈里,新元素都靠近 栈顶,而旧元素靠近 栈底。2、队列什么是队列(Queue)队列是一种遵循 先进先出 一种有序的项。...原创 2021-01-08 11:28:22 · 127 阅读 · 0 评论 -
JavaScript 编写 10 进制转化任意进制算法
JavaScript 编写进制转化函数(2 ~ 36)前言1、十进制到二进制的转化2、十进制到 2 ~ 36 任意进制的转化前言现实生活中,我们主要使用的是十进制。但在计算机里,二进制非常重要,因为计算机内的所有内容都是通过二进制来显示的。如若没有十进制与二进制相互转化的能力,与计算机交流就是一件很困难的事情。1、十进制到二进制的转化首先我们先来看一个例子。图中我们想要将 10 这个数值 转化为 2 进制。首先我们用 10 除以 2 ,得到 5。用 10 余 2 得到 0。那么我们原创 2021-01-08 09:50:31 · 1009 阅读 · 0 评论 -
JavaScript 类属性私有化
JavaScript 类属性私有化1、使用 Symbol 类2、使用 WeakMap 类1、使用 Symbol 类const _items = Symbol("item");class Test { constructor() { this[_items] = [1,2]; this.count = 1; }}使用该类虽然无法直接通过 Test._items 获取到值,但它可以被 Object.getOwnPropertySymbols 方法获取到。但没关系,还有第二种方法。原创 2021-01-07 21:07:35 · 400 阅读 · 0 评论 -
JavaScript 将数组转化为字符串
JavaScript 将数组转化为字符串1、toString 方法2、join 方法1、toString 方法let arr = [1,2,3,4,5,6];arr.toString(); // 1,2,3,4,5,62、join 方法join 与 toString 方法相似,不同的是它可以接收一个参数,来决定每个元素之间用什么隔离。let arr = [1,2,3,4,5,6];arr.join("-"); // 1-2-3-4-5-6...原创 2021-01-07 19:56:41 · 266 阅读 · 0 评论 -
JavaScript 数组搜索
JavaScript 数组搜索1、indexOf 与 lastIndexOf 方法2、 find 与 findIndex 方法3、includes 方法1、indexOf 与 lastIndexOf 方法indexOf 方法返回与参数匹配的第一个元素的索引,如果没有则返回 -1;而 lastIndexOf 与 indexOf 相反,它会返回与参数匹配的最后一个元素的索引。如:let arr = [0,1,2,3,1,4,5,6];arr.indexOf(1);// 返回 1arr.last原创 2021-01-07 19:51:16 · 216 阅读 · 0 评论 -
JavaScript 数组排序
JavaScript 数组排序1、reverse 方法2、sort 方法1、reverse 方法reverse 方法会将数组内的元素反序排序。如:let arr = [1,2,3,4,5,6];arr.reverse();// arr = [6,5,4,3,2,1]2、sort 方法sort 方法默认会将元素当成字符串相互对比,也可以传入自己写的比较函数来决定排序顺序。如:let arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19原创 2021-01-07 19:35:50 · 2116 阅读 · 0 评论 -
ES6(ECMAScript 6) 数组新功能
ES6 数组新功能 1、for...of循环迭代2、ֵ使用 @@iterator 对象3、数组的 entries、keys、values 方法4、from 方法5、使用 of 方法6、使用 fill 方法1、for…of循环迭代与 for…in 循环类似 ,同样把迭代数组里的所有值迭代了一次,但不同的是,for…in 里迭代出来的变量是该值的下标,而for…of迭代出来的变量就是该值。如:let arr = [{name:1,age:2},2];for ( let n of arr ) { c原创 2021-01-07 19:01:32 · 130 阅读 · 0 评论 -
JavaScript 数组合并(concat)
Contact 方法可以向一个数组传递数组,对象或者元素。数组会按照该方法传入的参数顺序链接指定数组。如:let arr1 = [1,2,3], arr2 = [-3,-2,-1], z = 0;let arr3 = arr2.concat(z,arr1);在这个例子里,z 首先被合并到 arr2里,其次arr1也被arr2合并,所以最后输出的结果就是 [-3,-2,-1,0,1,2,3]...原创 2021-01-07 16:27:32 · 784 阅读 · 0 评论 -
JavaScript 迭代器函(every,some,forEach,map,filter,reduce)
JavaScript 数组函数1、Contact 方法2、Every 与 Some 方法3、ForEach 方法4、Map 与 Filter 方法1、Contact 方法Contact 方法可以想一个数组传递数组,对象或者元素。数组会按照该方法传入的参数顺序链接指定数组。如:let arr1 = [1,2,3], arr2 = [-3,-2,-1], z = 0;let arr3 = arr2.concat(z,arr1);在这个例子里,z 首先被合并到 arr2里,其次a原创 2021-01-07 16:05:34 · 190 阅读 · 0 评论 -
Vue 开发一个简略版的飞机大战小游戏
文章目录使用 Vue 开发一个简略版的飞机大战小游戏一、实现思路二、所需知识点三、实现步骤使用 Vue 开发一个简略版的飞机大战小游戏如题,假设你为了向更多访问你博客的人展示你的技术,你决定小试身手开发一个飞机大战小游戏。功能: 开始游戏前用户名必填,玩家可以发射子弹,敌军与行星随机出现,鼠标可操控玩家移动,敌军可发射子弹 一、实现思路如题所述:玩家可操控玩家飞机可发射子弹,敌军与行星随机生成;这意味着我们需要一个单独的玩家飞机dom,以及敌军、行星与子弹 用 vue 循环生成的3个原创 2020-10-19 09:37:25 · 2231 阅读 · 1 评论