自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 博客搬家啦

博客搬家啦,新博客地址 https://blueleek.blue/小伙伴一起嗨学一起来

2020-01-20 12:59:54 67

原创 [LeetCode] 876. Middle of the Linked List

[LeetCode] 876. Middle of the Linked ListGiven a non-empty, singly linked list with head node head, return a middle node of linked list.If there are two middle nodes, return the second middle node....

2019-12-17 23:52:53 56

原创 AntDesign Upload组件上传图片

技术选型前端技术选型: React Hook + typescriptantd版本:3.18使用Upload上传图片上传效果截图预览效果截图项目中完整写法:import {Button, Form, Input, Modal, Upload, Icon} from 'antd';const RegistrationForm = (props: IProps) => { ...

2019-11-05 17:10:09 1717

原创 《人生》读书笔记

邂逅文艺前两天看到一个有趣的词叫做孤独经济,现在生活在前线城市的上班族,尤其是单身上班族,他们的生活数据可以准确的描述出他们生活的需求,点哪家的外卖,玩哪个游戏,每个app平均使用时长。越孤独越能准确描述个体需求,情侣或者朋友涉及到点外卖还要考虑他人喜好,数据就不准确了。突然觉得有趣又有点可悲,每个人都是大数据描述下行走的肉体,能产生数据交互的都会被记录下行为轨迹。偶然在逛电子书城的时候偶遇《...

2019-11-03 10:37:01 72 1

原创 《番茄工作法图解》读书笔记

得到番茄工作法推荐我有这么一个好友,名叫黄,是个爱捣腾新技术和效率工具的技术宅,在他的推荐下使用了番茄土豆这个app,刚开始对番茄工作法不是很了解,全凭黄兄口口相传, 后来偶然间在微信读书的书城里看到了推荐中一本名为《番茄工作法图解》的书,本着不能落后于黄兄以及对工作效率的追求,我将其加入书架, 开启每晚下班阅读模式。整本书看完花了三个多小时,敲敲脑壳,想想自己吸收了什么,总结番茄工作法是一种...

2019-11-02 21:36:17 145 1

原创 不懂运营的产品和技术

为什么会被动?很多产品经理工作一段时间后,产品设计的功底有了,项目经验也锤炼扎实了,但产品却越做越吃力,因为一些产品只会做功能,不懂运营,不懂行业。对于一些技术同学,很多场景是在实现产品提出需求,无争议,无反对,究其原因,还是不了解行业,不了解用户,只会被需求方牵着鼻子走。很多时候在和运营或者市场讨论需求时,对方的最后一句话总是我怎么说你怎么做,不懂运营,不懂行业,拿什么充分理由和别人辩驳。运...

2019-11-02 21:29:53 69

原创 漫谈闭包

什么是闭包?红宝书定义: 闭包是指有权访问另外一个函数作用域中变量的函数MDN闭包定义: 闭包是指那些能够访问自由变量的函数。闭包产生的原因?理解闭包,首先要明白作用域的概念,在ES5中只存在两种作用域-全局作用域和函数作用域,当访问一个变量时,解释器会首先在当前作用查找标识符,如果没有找到,就去父作用域找,直到找到该变量的标示符不在父作用域中,这就是作用域链,每个子函数会拷贝上级的作...

2019-10-28 21:31:27 34

原创 javascript传递参数如果是object的话,是按值传递还是按引用传递?

先看看这段代码的输出结果:function test(person) { person.age = 26 person = { name: 'huahua', age: 90 } return person}const p1 = { name: 'cc', age: 11}const p2 = test(p1)console.log(p1) //...

2019-10-28 11:01:38 53

原创 广告常见概念

网络广告发展到今天,经历了从最初的短信联盟到现在的广告联盟,广告形式也有了很大的变化,出现了CPC,OCPC,CPM,OCPM,CPS,CPT等众多广告形式。CPM按展示收费CPM-英文全称Cost Per Mile或者Cost Per Thousandlmpression,也称为千人印象成本。CPM是一种展示付费广告,只要展示了广告主的广告内容,广告主就为此付费。这种广告的效果不是很好,但是...

2019-10-28 10:30:23 151

原创 exports和module.exports

exports和module.exportsexports和modules的区别?为了更好的理解,先来一起看个例子:var a = {name: 1};var b = a;console.log(a); // {name: 1}console.log(b); // {name: 1}b.name = 2;console.log(a); // {name: 1}console.lo...

2019-10-25 17:31:16 22

原创 Webpack打包优化-外部扩展externals的实际应用

Webpack打包优化-外部扩展externals的实际应用拆分文件我们在使用js库如vue或者react等的时候,webpack会将他们一起打包,react和react-dom文件就好几百k,全部打包成一个文件,可想而知,这个文件会很大,用户在首次打开时往往会出现白屏等待时间过长的问题,这时,我们就需要将这类文件抽离出来。externals: { "react": "Rea...

2019-10-22 17:04:45 694

原创 《番茄工作法图解》

我有这么一个好友,名叫黄,是个爱捣腾新技术和效率工具的技术宅,在他的推荐下使用了番茄土豆这个app,刚开始对番茄工作法不是很了解,全凭黄兄口口相传, 后来偶然间在微信读书的书城里看到了推荐中一本名为《番茄工作法图解》的书,本着不能落后于黄兄以及对工作效率的追求,我将其加入书架, 开启每晚下班阅读模式。整本书看完花了三个多小时,敲敲脑壳,想想自己吸收了什么,总结番茄工作法是一种时间管理的方法,它可...

2019-08-12 16:55:16 93

原创 Github换了新头像,这周是您入职的第三周,,,

今天是周六,好久没有收拾房间了,感觉租的地方又被我当成一个只睡觉的地方,都不维护的每每看到这么乱的房间就会想起每次总是唠叨我但还是会帮我收拾的老妈,还有之前在学校也会帮我整理东西的黄早起匆忙收拾了一下,心情感觉也明朗起来,吃了自己煮的粥,去了公司开始阅读@张鑫旭的博文,

2019-08-11 19:47:11 88

原创 cannot read property 'oneOf' od undefined

依赖模块版本: "react-native-vector-icons": "^2.1.0", "react": "^16.3.1", "react-dom": "^16.4.0", "react-native": "^0.55.4",解决办法将react-native-vector-icons的版本升级到最新版本np

2018-06-17 20:49:22 693

转载 BFC原理

BFC是什么?在解释BFC元素之前,先看一下另外两个概念Box,Formatting Context的概念 Box:是CSS布局的对象和基本单位,一个页面是由很多 Box组成的。元素的类型和display属性决定了这个Box的类型。不同类型的Box,会参与不同的Formatting Context(决定如何渲染文档的容器),因此Box内的元素会以不同方式进行渲染。 1.block-leve...

2018-05-23 16:58:00 195

原创 北漂实习生活

这段时间开始了在北京实习的北漂生活,忙着完成头儿交给的任务,发现工作中的大多数人为了完成交付的任务,在工作过程中遇见的问题因为忙着交付任务的关系,却忽略了追究其内部的原理,不禁想起实验室里我们为了探讨一个问题相互讨论,争辩,查书,在得到答案之后的那份开心的感觉,实验室传统11点离开实验室时间,一路狂奔,生怕回不去宿舍,被舍管阿姨骂,一路上,我们有说有笑,相互调侃,校园的生活真的散发出一种美好的味道...

2018-05-23 14:30:30 370 2

原创 NaN

NaN属性代表非数字值得特殊值,该属性用于表示某个值不是数字。可以把Number对象设置为该值,来指示其不是数字值。 isNaN()全局函数用来判断一个值是否是NaN值NaN意味着“不是数字”,但是它的类型是 numberNaN与所有的值都不相等,包括它自己所以判断一个值是否是NaN,我们可以使用value !== value,如果值等于NaN,只会产生true,另外ES6提供了一个...

2018-05-02 22:20:49 1201

转载 闭包

最近把JS的知识点再看一遍,发现新的东西 阮一峰:学习Javascript闭包(Closure)变量的作用域变量的作用域分为两种:全局变量和局部变量 函数内部可以直接读取全局变量var a = 123;function f1(){ console.log(a);}f1();//123函数外部无法自然读取函数内部的局部变量function f1(){ ...

2018-05-02 17:14:35 154

原创 引用类型改变值的问题

var arr1 = "Marry".split('');var arr2 = arr1.reverse();var arr3 = "Blues".split('');arr2.push(arr3);console.log(arr1);//[ 'y', 'r', 'r', 'a', 'M', [ 'B', 'l', 'u', 'e', 's' ] ]console.log(arr2);/...

2018-05-02 11:53:11 351

原创 让li输入正常的索引值

根据下面的代码回答问题:for(var i = 0;i<5;i++){ var btn = document.createElement("button"); btn.appendChild(document.createTextNode('Button'+i)); btn.addEveListener('click',function(){console.log(i);})...

2018-05-02 11:19:17 183

原创 判断回文字符串的方法

回文就是将一个字符串翻转过来,能和原来字符串完全相等,就可以称之为回文。方法一:字符串倒置比较function isPalindrome(line){ line += ""; return line === line.split("").reverse().join("");}这种方法方便,但是效率不高,字符串分割,倒置,聚合都需要很多额外的操作。方法二:从字符串头部和尾...

2018-05-02 09:28:46 625

原创 NaN

NaN是一个全局对象的属性,NaN属性的初始值是一个不可配置的,不可写的属性。在ES3中这个属性值是可以改变的,但是也应该避免覆盖。判断一个值是不是NaN等号运算符(==和===)不能被用来判断一个值是否是NaN。必须使用Number.isNaN或者NaN()函数。在执行自比较之中,NaN也只有NaN不等于其本身console.log(NaN === NaN);//falseco...

2018-05-01 22:48:57 95

原创 return语句

先看看下面两个函数的返回值是否一样//函数一function fool1(){ return{ bar:"hello" };}//函数2function foo2(){ return { bar:"hello" };}console.log(foo1());//{bar:"hello"}console.log(foo2());//undef...

2018-05-01 22:37:43 411

原创 this指向问题

看题:var myObject = { foo:"xiaohu", func:function(){ var that = this; console.log(this.foo);//xiaohu console.log(that.foo);//xiaohu (function(){ console.log(this == window)...

2018-05-01 22:27:37 87

原创 变量赋值问题

(function(){ var a = b = 3;})();console.log(typeof a);//undefinedconsole.log(typeof b);//number解析: 首先理解一句话是在立即执行函数体里面var a = b = 3;对这个进行拆解一下(赋值过程从左到右)b = 3;var a = b;变量b是一个全局变量 变量a在封闭的...

2018-05-01 19:42:29 174

原创 typeof

常见使用typeof判断类型的结果:typeof undefined //undefinedtypeof null //objecttypeof NaN //numbertypeof function(){} //functiontypeof [] //object判断object的时候,有可能因为是null,因...

2018-05-01 18:57:27 129

原创 理解计算机(一)计算机中的抽象概念

我们可以把操作系统看成是应用程序和硬件之间插入的一层软件,所有应用程序对硬件的操作尝试都必须通过操作系统。 操作系统的两个基本功能: (1)防止硬件被失控的应用程序滥用 (2)向应用程序提供一致的机制来控制复杂而又通常大不相同的低级硬件设备。操作系统通过几个基本的抽象概念(进程,虚拟内存和文件)来实现这个两个功能。 文件是对I/O设备的抽象表示 虚拟内存是对主存个磁盘I/O设备的...

2018-05-01 17:36:48 5130

转载 JS继承机制思想

发现一个超级棒的博客@作者:阮一峰,给大家推荐,大家可以直接进入他的博客阮一峰博客原文 跟着大神开始学继承,姑娘撸起袖子开始干了,菜鸟一枚完全跟着大神学 JS中没有“子类”和“父类”,也没有“类”(class)和”实例”(instance)的区分,全靠一种奇特的”原型链”,来实现继承一.JS的诞生1994年,网景公司(Netscape)发布了Navigator浏览器0.9版。这是历...

2018-04-30 22:46:30 86

原创 浏览器缓存机制详解(一)

浏览器缓存机制可以极大的提升用户体验,另一方面会因为读取缓存而展示了错误的东西,因而在开发中要设法将其删除。什么是浏览器缓存?浏览器缓存就是把一个已经请求过的web资源(如html页面,图片,JS,数据)拷贝一份放在浏览器中。缓存会根据进来的请求保存输入内容的副本。当下一个请求到来的时候,如果是相同的URL,浏览器会根据缓存机制决定是直接使用副本响应访问请求还是向源服务器再次发起请求。...

2018-04-30 22:18:47 5798

原创 TCP UDP 的区别和具体应用场景

TCP和UDP两者都是通信协议,TCP和UDP都是传输层协议,但是他们的通信机制和应用场景不同。TCPTCP(Transmission Control Protocol)又叫传输控制协议,TCP是面向连接的,并且是一种可靠的协议,在基于TCP进行通信时,通信双方需要建立TCP连接,建立连接需要经过三次握手,握手成功才可以通信。UDPUDP是一种面向无连接,切不可靠的协议,在通信...

2018-04-29 18:25:00 10459 1

原创 DNS解析(读书笔记)

域名系统DNSDNS是为各种网络应用(例如:web浏览器或者邮件阅读器)提供的一种核心服务,即名字服务,用来把计算机的名字转换为对应的IP地址。域名系统初识在网络层为了更高效的查找转发地址,使用等长的32位IP地址来标志一台主机而不是不等长的主机名(因为机器处理等长的数字比处理等长的字符串更高效)。在应用层为了便于用户记忆,更多的是使用主机名字。早期ARPANET时代,整个网络...

2018-04-29 17:43:17 212

原创 代理服务器(Proxy)的原理

什么是代理服务器(Proxy)?以类似代理人的身份去取的用户需要的数据。由于它的【代理】能力,使得我们可以透过代理服务器来达成防火墙与用户数据的分析。除此之外我们还可以借助代理服务器来达成节省带宽的目的,以及加快内部网络对因特网的万维网的访问速度。 当客户端有因特网的数据要求时,Proxy会帮用户去向目的地取得用户所需要的数据。所以当客户端指定www的代理服务器之后,用户的所有www相关要求...

2018-04-29 11:50:43 13284

原创 分享狼叔nodejs博客

跟大家分享一篇文章,会帮助到大家更好的学习Node以及一些其他的东西 【全文】狼叔:如何正确的学习Node.js A:曾经有一个面试官问我,你以后的发展规划是什么? B:我很笃定的说以大前端为目标驱动自己去理解更多的知识,把知识作为解决问题的工具,这也是我一直以来做前端开发在周围以及社区上遇到的一群正能量人,他们带给我很多力量,在这个行业不断的学习,收获的不仅仅是代码,知识上的增长,更重要的...

2018-04-29 11:46:18 1095

原创 React诞生的历史原因

React诞生的原因React是Facebook开发的一款的JS库,那么Facebook为什么要创造React? Facebook认为MVC无法满足他们的扩展需求,由于他们非常巨大的代码库和庞大的组织,使得MVC很快变得复杂,每当需要添加一项新功能或者特性时,系统的复杂就成级数的增长,致使代码变得脆弱而不可预测,结果导致他们的MVC正在土崩瓦解。认为MVC不适合大规模的应用。当系统中有很多模...

2018-04-24 21:29:41 2448

原创 JS深拷贝和浅拷贝

JS中对象分为基本类型和复合(引用)类型,基本类型存放在栈内存,复合(引用)类型存放在堆内存中 堆内存中用于存放由new创建的对象,栈内存存放一些基本类型的变量和对象的引用变量对于简单变量,内存小,直接复制不会发生引用:var a = 123;var b = a;a = 123456;console.log(a);//123456console.log(b);//123var...

2018-04-23 16:40:38 108

原创 MVC和MVVM框架

MVC1.View:负责渲染用户界面,应该避免在View中涉及业务逻辑 2.Controller:负责接收用户输入,根据用户输入调用Model逻辑,将产生的结果交给View部分,让View渲染出必要的输出。 3.Model:负责管理数据,大部分业务逻辑也应该放在Model中缺点:由于在实现的过程中,往往出现View与Model不经过Controller通信的现象,造成数据混乱,难以维护...

2018-04-23 14:40:16 225

原创 ES6 Generator

Generator函数时ES6提供的一种异步编程的解决方案。 在语法上,我们可以把Generator函数理解为一个状态机,封装了很多内部状态。执行Generator函数会返回一个遍历器对象。 Generator函数区别于普通函数的特征在: 1.function命令与函数名之间有一个星号 2.函数体内部使用yield语句定义不同状态 例如:function* helloWorld(...

2018-04-23 13:07:09 94

转载 React props和state

React基于状态实现对DOM的控制和渲染,组件状态分为两种:一种是组件间状态的传递,另一种是组件内部状态,这两种状态用props和state表示, props:用于从父组件到子组件的数据传递。 state:组件内部也有自己的状态,这些状态只能在组件内部修改数据流和PropsReact中的数据流是单向的,只会从父组件传递到子组件。属性props是父子组件间进行状态传递的接口,Rea...

2018-04-22 12:03:04 163

原创 React组件分类

React常见的组件分类方式: 1.函数组件,类组件 2.无状态组件,有状态组件 3.展示型组件和容器型组件函数组件和类组件函数组件(Functional Component)和类组件(Class Component),划分一标准是定义组件的方法。函数组件使用函数来定义组件,类组件使用ES6 class来定义组件。//函数组件function Welcome(props){...

2018-04-22 10:06:06 645

转载 nodejs 的event loop源码解读

准备努力在cNode中硬凹存在感,立一个不打脸的flag 注明原文出处(社区豪华版):不要混淆nodejs和浏览器中的event loop 很多时候nodejs和浏览器端的event loop会被混为一谈,但是需要明确的点是: nodejs和浏览器的event loop是有着明确区分的事物,不能够混为一谈下面的这个点很重要。我自己也在努力践行中,和小伙伴们一起加油了。 讨论一些js异步...

2018-04-21 22:43:50 660

提示
确定要删除当前文章?
取消 删除