Harry小黄
码龄8年
关注
提问 私信
  • 博客:42,650
    42,650
    总访问量
  • 34
    原创
  • 400,396
    排名
  • 16
    粉丝
  • 0
    铁粉

个人简介:大三coder,base南京,前端工程师,多次省级国家级竞赛获奖。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:日本
  • 加入CSDN时间: 2017-06-09
博客简介:

qq_39112047的博客

查看详细资料
个人成就
  • 获得28次点赞
  • 内容获得2次评论
  • 获得121次收藏
  • 代码片获得141次分享
创作历程
  • 34篇
    2022年
成就勋章
兴趣领域 设置
  • Java
    java
  • 前端
    vue.jsreactjs
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

ES7新增特性array.includes以及指数运算符

在ES7之前,如果我们想判断一个数组中是否包含某个元素,需要通过 indexOf 获取结果,并且判断是否为 -1。在ES7中,我们可以通过includes来判断一个数组中是否包含一个指定的元素,根据情况,如果包含则返回 true, 否则返回false。指数(乘方)exponentiation运算符在ES7之前,计算数字的乘方需要通过 Math.pow 方法来完成,在ES7中,增加了 ** 运算符,可以对数字来计算乘方。...
原创
发布博客 2022.06.28 ·
524 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

ES6新增数据结构Set与Map(包括WeakMap/Set等)

ES6之前,我们存储数据的结构主要有两种:数组、对象。在ES6中新增了另外两种数据结构:Set、Map,以及它们的另外形式WeakSet、WeakMap。功能:数组去重Set的属性对Set进行遍历Set中添加对象WeakSet的作用和Set类似的另外一个数据结构称之为WeakSet,也是内部元素不能重复的数据结构。对象的引用在 JavaScript 中是强引用,也就是时,那么这个变量或常量就是强引用,这个对象就不会被回收。如果对象若被弱引用所引用,则被认为是不可访问(或弱可访问)的,并因
原创
发布博客 2022.06.28 ·
436 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Vue快速入门demo(计数器)并对比React

Vue与React本质上是一个javascript库,不用想的特别复杂,我们就把它理解成一个已经帮助我们封装好的库。npm下载量这里有个地方可以简写计数器,如果用传统的dom开发传统的dom开发我们也称之为命令式编程,用户给予指令,机器一步一步做。计数器,使用vue开发Vue与React采用的是声明式编程。直接将内容写在template里面,甚至连高亮都没有,这样非常糟糕!所以我们可以采取以下的方式。或者采取这样的方式,包裹一个template标签,注意,template会被渲染,但是没有任
原创
发布博客 2022.06.26 ·
293 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JS中新增的数据类型Symbol

Symbol是ES6中新增的一个基本数据类型,翻译为符号。在ES6之前,对象的属性名都是字符串形式,那么很容易造成属性名的冲突。比如原来有一个对象,我们希望在其中添加一个新的属性和值,但是我们在不确定它原来内部有什么内容的情况下, 很容易造成冲突,从而覆盖掉它内部的某个属性,比如开发中我们使用混入,那么混入中出现了同名的属性,必然有一个会被覆盖掉。Symbol就是为了解决上面的问题,用来生成一个独一无二的值。...
原创
发布博客 2022.06.25 ·
408 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ES6中对数值的表示

ES6中规范了二进制和八进制的写法,另外在ES2021新增特性:数字过长时,可以使用_作为连接符。具体来看下面的代码演示
原创
发布博客 2022.06.25 ·
230 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ES6中的展开运算符

可以在函数调用/数组构造时,将数组表达式或者string在语法层面展开,还可以在构造字面量对象时, 将对象表达式按key-value的方式展开。
原创
发布博客 2022.06.25 ·
965 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

ES6中函数的默认参数与剩余参数

在ES6之前,我们编写的函数参数是没有默认值的,所以我们在编写函数时,如果有下面的需求之前我们是这么做的。这种写起来很麻烦,而且代码阅读性比较差,更糟糕的是它有bug。关于bug:比如传0进去,它会默认当初false,指向或后面的表达式,这里就还是aaa。给对象传默认值注意点1:有默认值的形参最好放最后注意点2:有默认值的length属性函数的剩余参数ES6中引用了rest parameter,可以将不定数量的参数放入到一个数组中。如果最后一个参数是 … 为前缀的,那么它会将剩余的参数放到
原创
发布博客 2022.06.24 ·
174 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

ES6的模板字符串

在ES6之前,如果我们想要将字符串和一些动态的变量(标识符)拼接到一起,是非常麻烦和丑陋的。首先,我们会使用 `` 符号来编写字符串,称之为模板字符串。其次,在模板字符串中,我们可以通过 ${expression} 来嵌入动态的内容。标签模板字符串模板字符串还有另外一种用法:标签模板字符串(Tagged Template Literals)。...
原创
发布博客 2022.06.24 ·
727 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

ES6中的解构语法

ES6中新增了一个从数组或对象中方便获取数据的方法,称之为解构Destructuring。我们可以划分为数组的解构和对象的解构。知识点:对象的解构知识点:
原创
发布博客 2022.06.24 ·
257 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ES6新特性之字面量增强写法

ES6中对 对象字面量 进行了增强,称之为 Enhanced object literals(增强对象字面量)。字面量的增强主要包括以下几个部分:
原创
发布博客 2022.06.24 ·
201 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

探讨JS中的多态

维基百科对多态的定义:多态(英语:polymorphism)指为不同数据类型的实体提供统一的接口,或使用一个单一的符号来表示多个不同的类型。这看起来还是非常抽象的!不同的数据类型进行同一个操作,表现出不同的行为,就是多态的体现。从这个定义来看JS是一定存在多态的。传统面向对象的多态是由三个前提组成的。下面我们来看一个案例JS的多态JS的多态相对传统面向对象的原因如JAVA而言,没有那么复杂。JS中当对不同的数据类型执行同一个操作时,如果表现出来的行为不一样,那么就是多态的体现 。这其实就是一种多态的表
原创
发布博客 2022.06.23 ·
1791 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

ES6中类的使用

按照构造函数形式创建类,不仅仅和编写普通的函数过于相似,而且代码并不容易理解。在ES6(ECMAScript2015)新的标准中使用了class关键字来直接定义类。但是类本质上依然是前面所讲的构造函数、原型链的语法糖而已。所以学好了构造函数、原型链更有利于我们理解类的概念和继承关系。那么如何来使用class来定义一个类呢?可以观察一下类的特点,它也是有原型的。类的构造方法通过类的构造方法,可以把值传入类中。这里和构造函数有些许不同,是依靠来实现的。类中方法的定义类中的方法主要有普通方法,访问器方
原创
发布博客 2022.06.22 ·
1572 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏

JS中原型的一些判断方法

判断某个属性是否在自己上面,而不是在原型上(hasOwnProperty)var obj = { name : 'why', age : 18}var info = Object.create(obj,{ //第二个属性传的是属性描述符 address:{ value:'北京市', enumerable:true }})console.log(info); //{ address: '北京市' } console.log(inf
原创
发布博客 2022.06.22 ·
1091 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JS中的继承(下)

这种模式要从道格拉斯·克罗克福德(Douglas Crockford,著名的前端大师,JSON的创立者)在2006年写的一篇文章说起: Prototypal Inheritance in JavaScript(在JS中使用原型式继承)。在这篇文章中,它介绍了一种继承方法,而且这种继承方法不是通过构造函数来实现的.为了理解这种方式,我们先再次回顾一下JavaScript想实现继承的目的:重复利用另外一个对象的属性和方法。以我上一篇文章中的例子来说,也就是student对象的原型指向了person对象。没读过
原创
发布博客 2022.06.21 ·
140 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JS中的继承(上)

因为一个类(构造函数)中可能存在大量公用的属性和方法,利用对象的继承可以简化代码。如下的案例如何实现继承呢?利用原型链,解决方案1可以利用原型链,只需一行代码,大家画个内存图就很好理解了。该方案的弊端打印stu对象,继承属性看不到比如stu.name,因为原型上的属性是打印不了的。如果创建出两个stu对象,两个对象会相互影响,看下面的代码在实现类的过程中都没有传参数,因为无法传参(子类创建出的实例属性无法传到父类中)。constructor stealing(借用构造函数),解决方案
原创
发布博客 2022.06.21 ·
99 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JS中的原型链(超清晰理解)

原型链,所有的原型构成了一个链条,这个链条我们称之为原型链(prototype chain)。如果我们执行下面这段代码,因为没有定义address这个属性,程序结果理所当然的是undefined。这个时候经历了什么呢?JS引擎线从Obj.address里寻找,发现没有找到,然后接着去找obj.__ proto __ 里面寻找,发现还是没找到,所以结果为undefined。我们可以给obj.__ proto __ 赋值或者这样接着套娃js引擎会顺着这些原型不断的往上找,直到address这个属性。这些
原创
发布博客 2022.06.20 ·
17447 阅读 ·
18 点赞 ·
0 评论 ·
87 收藏

docker中image的基础使用

docker的镜像的或许方式主要由如下几种:最有名的就是docker hub了。还要一个就是红帽旗下的quay.lo。如果是个人用户使用dockerhub的时候会有一些限制(传输速率,拉取次数)。dockerhub官网在docker hub中rigistry有两种一种是verified content(官方认证的),还有一种是community(社区的)。尽量拉取官方认证的。像官网这样,docker pull nginx就可以拉取了。查看所有的镜像删除镜像显示某镜像的详细信息导出镜像导
原创
发布博客 2022.06.20 ·
821 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

docker中container的基础使用

docker的镜像与容器docker的镜像,其实是一种read-only(只读)文件,这个文件包含文件系统,源码,库文件,依赖,工具等一些运行application所需要的文件。容器container其实是一个运行中的docker image,它其实是复制了image并在image最上层加上了一层read-write。一个image可以创建多个container。docker image我们可以自己去制作,也可以从registry(资源网站)上拉取,registry中最有名的就是docker hub了
原创
发布博客 2022.06.19 ·
1209 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

三种系统下Docker的安装

容器(container)指的是一种技术,而Docker只是容器技术的实现,Docker也是容器技术中最成功的一种实现。过多的概念这里不太多赘述,笔者主要在这里讲解一下docker的安装。https://www.docker.com/products/docker-desktop/ 下载docker桌面版,在终端中输入docker version可以查看到类似如下的信息即为安装成功。https://get.docker.com/ 用户将上面的shell脚本下下来就可以了在windows上进行安装
原创
发布博客 2022.06.19 ·
511 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

JS批量创建对象的方案与构造函数

如果我们现在希望创建一系列的对象:比如Animal对象,Person对象,采取什么样的方式比较好呢。本文列举常见的几种方向并详细分析它们的优劣性。这个方法是最好想到,也是最常见的。不过效率极低,创建同样的对象时,用户需要编写重复的代码。工厂模式创建对象工厂模式其实是一种常见的设计模式,通常我们会有一个工厂方法,通过该工厂方法我们可以产生想要的对象。工厂模式的缺点如果读者运行代码1后,会发现typeof打印的是Object。工厂模式的缺点在于类型问题,只能打印Object,而不能确定是哪个Object
原创
发布博客 2022.06.16 ·
397 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多