自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(61)
  • 收藏
  • 关注

转载 JS 中 this 在各个场景下的指向

1. this 的奥秘很多时候, JS 中的 this 对于咱们的初学者很容易产生困惑不解。 this 的功能很强大,但需要一定付出才能慢慢理解它。对Java、PHP或其他标准语言来看,this 表示类方法中当前对象的实例。大多数情况下,this 不能在方法之外使用,这样就比较不会造成混淆。在J要中情况就有所不同: this表示函数的当前执行上下文,JS 中函数调用主要有以下...

2019-09-16 15:10:10 317

转载 浏览器垃圾回收机制与 Vue 项目内存泄漏分析

介绍浏览器的 Javascript 具有自动垃圾回收机制(GC:Garbage Collecation),也就是说,执行环境会负责管理代码执行过程中使用的内存。其原理是:垃圾收集器会定期(周期性)找出那些不在继续使用的变量,然后释放其内存。但是这个过程不是实时的,因为其开销比较大并且GC时停止响应其他操作,所以垃圾回收器会按照固定的时间间隔周期性的执行。不再使用的变量也就是生...

2019-09-16 15:08:40 565

转载 三年大厂面试官——二面题(偏难)

面试题精选大厂的一面面试题,大家基本上都能在google上刷到,见过就会,没见过就死。通过刷题,基本上能做出来85%以上。但是到了二面,你会发现难度徒然上升,一道题内,涉及到的技术点很多,很少能在网上查到原题目,因为二面的题目大部分都是从工作中提炼出来的技术点,需要候选人通过自己的想象力和技术实力去设计解决方案。非常考验候选人前端能力。第 1 题:在nodejs开发的时候 处...

2019-09-16 15:06:07 382

转载 JS中,如何提高展开运算符的性能

为了保证的可读性,本文采用意译而非直译。本文主要讲解怎么提高展开运算的性能,在此之前先简单说说展开运算在数组中的工作原理。展开运算符或三个点,接受一个数组数组或通常是可迭代的[... arrayOrIterable]并将数组元素分解,并使用这些分解部分构造一个新数组。展开运算符可以放在数组中的任何位置:constnumbers=[1,2,3];[0,...num...

2019-09-16 15:05:02 230

转载 面试官: 100万个成员的数组取第一个和最后一个有性能差距吗?

什么是数组数组是计算机科学中最基本的数据结构了,绝大多数编程语言都内置了这种数据结构,也是开发者最常见的数据结构.数组(英语:Array),是由相同类型的元素(element)的集合所组成的数据结构,分配一块连续的内存来存储.当然,在一些动态语言中例如Python的列表或者JavaScript的数组都可能是非连续性的内存,也可以存储不同类型的元素.比如我们有如下一个数组:ar...

2019-09-15 11:18:32 420

转载 让自动化工作流解放你的双手

本篇主要讲解一下如何去配置 jenkins,如何使用 Fabric(python 脚本)去部署项目,怎么设置 gitlab 的钩子,实现我们提交代码及自动打包部署,实现真正的自动化部署。看归看,记得一定要实践一下才知道哪里有坑。如果你在尝试的过程中遇到什么问题,欢迎留言和我一起探讨。准备项目这里就不做过多介绍了,随便一个 vue 或者 react 的项目,或者 node 的项...

2019-09-15 11:13:56 199

转载 写给前端工程师的Flutter教程

| 导语 最全Flutter教程,涉及Dart语言,Flutter Widget,Flutter状态管理等。最爱折腾的就是前端工程师了,从 jQuery 折腾到 AngularJs,再折腾到 Vue、React。 最爱跨屏的也是前端工程师,从 phonegap,折腾到 React Native,这不又折腾到了 Flutter。图啥?低成本地为用户带来更优秀的用户体验。目前来说...

2019-09-15 11:12:26 168

转载 我从来不理解JavaScript闭包,直到有人这样向我解释它

正如标题所述,JavaScript闭包对我来说一直有点神秘,看过很多闭包的文章,在工作使用过闭包,有时甚至在项目中使用闭包,但我确实是这是在使用闭包的知识。最近看到的一些文章,终于,有人用于一种让我明白方式对闭包进行了解释,我将在本文中尝试使用这种方法来解释闭包。准备在理解闭包之前,有个重要的概念需要先了解一下,就是 js 执行上下文。这篇文章是执行上下文 很不错的入门教程,...

2019-09-15 11:10:35 131

转载 利用amoeba(变形虫)实现mysql数据库读写分离

关于mysql的读写分离架构有很多,百度的话几乎都是用mysql_proxy实现的。由于proxy是基于lua脚本语言实现的,所以网上不少网友表示proxy效率不高,也不稳定,不建议在生产环境使用;amoeba是阿里开发的一款数据库读写分离的项目(读写分离只是它的一个小功能),由于是基于java编写的,所以运行环境需要安装jdk;前期准备工作:1.两个数据库,一主一从,主从同...

2019-09-11 18:01:16 122

转载 「中高级前端」高性能渲染十万条数据(时间分片)

前言在实际工作中,我们很少会遇到一次性需要向页面中插入数十万条数据的情况,但是为了丰富我们的知识体系,我们有必要了解并清楚当遇到大量数据时,如何才能在不卡主页面的情况下渲染数据,以及其中背后的原理。最粗暴的做法(一次性渲染)<ulid="container"></ul>复制代码//记录任务开始时间letnow=Date.now();/...

2019-09-11 16:50:28 197

转载 vue、angular深度作用选择器

Vue适用的深度选择器在 Vue 的开发中,我们经常会用到外部组件库,例如 element,当使用 element 组件库中的某一个组件的时,我们可能会希望有一些定制的地方,通常的做法是 用CSS覆盖;有时层级不够就要另辟他径。less使用/deep/css使用>>>复制代码Angular适用深度选择器使用组件样式对你编写的每个 Angular 组件来说,...

2019-09-11 16:46:14 443

转载 vue中如何实现后台管理系统的权限控制

一、前言在广告ji项目中,角色的权限管理是卡了挺久的一个难点。首先我们确定的权限控制分为两大部分,其中根据粒的大小分的更细:接口访问的权限控制页面的权限控制菜单中的页面是否能被访问页面中的按钮(增、删、改)的权限控制是否显示下面我们就看一看是如何实现这些个权限控制的。二、接口访问的权限控制接口权限就是对用户的校验。正常来说,在用户登录时服务器需要给前台返回一个Token,然后...

2019-09-11 16:44:54 1079

转载 这一次,彻底弄懂 Promise

Promise 必须为以下三种状态之一:等待态(Pending)、执行态(Fulfilled)和拒绝态(Rejected)。一旦Promise 被 resolve 或 reject,不能再迁移至其他任何状态(即状态 immutable)。基本过程:初始化 Promise 状态(pending)执行 then(..) 注册回调处理数组(then 方法可被同一个 promise ...

2019-09-10 15:40:20 197

转载 收下这波 JS 技巧,从此少加班

各种业务开发都离不开对数据的处理,然而遇到的很多数据都是不好处理的。这个时候就需要寻求搜索引擎的帮助。这种方法效率是非常低下的,而且根据作者的个性不能保证其对自己的口味。因此这篇文字包含了一份 JS 常用业务函数手册,例如时间格式的处理、用的是哪个手机浏览器,手机号、邮箱的验证,以此来提高你的开发效率常用 JS 函数1.时间格式化界面展示的时间千变万化, 所以一个处理时间的函...

2019-09-10 15:38:59 124

转载 精读《React Hooks 最佳实践》

React 16.8 于 2019.2 正式发布,这是一个能提升代码质量和开发效率的特性,笔者就抛砖引玉先列出一些实践点,希望得到大家进一步讨论。然而需要理解的是,没有一个完美的最佳实践规范,对一个高效团队来说,稳定的规范比合理的规范更重要,因此这套方案只是最佳实践之一。精读环境要求拥有较为稳定且理解函数式编程的前端团队。开启 ESLint 插件:eslint-plugin-...

2019-09-10 15:26:54 364

转载 「中高级前端」高性能渲染十万条数据

前言在实际工作中,我们很少会遇到一次性需要向页面中插入数十万条数据的情况,但是为了丰富我们的知识体系,我们有必要了解并清楚当遇到大量数据时,如何才能在不卡主页面的情况下渲染数据,以及其中背后的原理。最粗暴的做法(一次性渲染)<ulid="container"></ul>复制代码//记录任务开始时间letnow=Date.now();//插入...

2019-09-10 15:25:56 426

转载 可靠React组件设计的7个准则之SRP

我喜欢React组件式开发方式。你可以将复杂的用户界面分割为一个个组件,利用组件的可重用性和抽象的DOM操作。基于组件的开发是高效的:一个复杂的系统是由专门的、易于管理的组件构建的。然而,只有设计良好的组件才能确保组合和复用的好处。尽管应用程序很复杂,但为了满足最后期限和意外变化的需求,你必须不断地走在架构正确性的细线上。你必须将组件分离为专注于单个任务,并经过良好测试。不幸...

2019-09-09 15:00:39 137

转载 JS中轻松遍历对象属性的几种方式

自身可枚举属性Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for...in 循环遍历该对象时返回的顺序一致 。如果对象的键-值都不可枚举,那么将返回由键组成的数组。这是合理的,因为大多数时候只需要关注对象自身的属性。来看看一个对象拥有自身和继承属性的例子,Object.keys()只返回自己的属性键:let...

2019-09-09 14:58:13 1799

转载 哪些技术会决定前端开发者的未来发展?

2019年下半年即将到来,上半年狂风骤雨般的裁员浪潮让每一位从业者背脊发凉,在经历了五六年黄金发展期之后,前端开发这个行业似乎也进入了转折点。我一边听开发者在网络上抱怨工作难找,前端开发早已经饱和了,又在另一边听大厂的朋友们抱怨,招了很久的人,四处出击却填不满HC,前端人才市场就是这么充满了矛盾与反常。其实仔细想想,出现上述的情况很容易理解,实际上前端开发单纯从数量上已经饱和...

2019-09-09 14:57:13 123

转载 新手学习 react 迷惑的点(二)

没看第一篇的朋友可以移步先去看第一篇:新手学习 react 迷惑的点(一)第一篇反响也还不错,很多新手都觉得很有帮助,解答了他们很久以来的疑惑,其实第一篇里面的还算基础的,主要是 ES6 语法和 JSX 没有深刻理解。这第二篇稍微要难一点,有的需要了解 React 的原理才能搞明白的,不过你放心,我都用了最简单最简单的语言,即使你是个新手,如果产生了这些疑问,你也能看懂。下面...

2019-09-09 14:54:43 124

转载 web前端与后台数据交互

1.前端请求数据URL由谁来写?在开发中,URL主要是由后台来写的,写好了给前端开发者.如果后台在查询数据,需要借助查询条件才能查询到前端需要的数据时,这时后台会要求前端提供相关的查询参数,这里的查询参数也就是URL请求的参数。2.接口文档主要由谁来写?接口文档也是主要由后台开发者来写的,因为直接跟数据打交道的就是后台,后台是最清楚,数据库里面有什么数据,能返回什么数据.前端...

2019-09-08 17:16:53 360

转载 Vue.js中 watch 的高级用法

假设有如下代码:<div><p>FullName:{{fullName}}</p><p>FirstName:<inputtype="text"v-model="firstName"></p></div>newVue({el:'#root',data:{fi...

2019-09-08 15:42:42 82

转载 新手学习 react 迷惑的点(一)

在写 React 的时候,你可能会写类似这样的代码:importReactfrom'react'functionA(){//...othercodereturn<h1>前端桃园</h1>}复制代码你肯定疑惑过,上面的代码都没有用到 React,为什么要引入 React 呢?如果你把 import React from ‘r...

2019-09-08 15:40:03 117

转载 这些小程序技巧,你敢说你一个用不到?

都是小技巧,废话不多说,上代码!改变小程序原生组件大小微信官方提供了一些基本组件,但是有的组件没有提供类似size的属性,我们只需要一个css就可以解决,以radio为例:小程序picker组件的range-key不生效小程序picker使用过程中发现按官方文档写完,提示列表渲染为[Object Object],先看文档:使用场景为如果传入组件是对象数组,你需要设置range...

2019-09-08 15:31:53 129

转载 「译」 Vue 最黑暗的一天

往常积极友好的 VueJS 社区陷入了一场激烈的战争。 两周前,Vue 的创建者尤雨溪发布了一个请求意见稿(RFC),用于在即将发布的 Vue 3.0 中使用基于函数的方式编写 Vue 组件。今天,一个 Reddit 上批评性的帖子和 Hacker News 上一些类似的批评性的评论,引起大批开发者涌向原本的 RFC 来表达他们的愤怒,其中一些有点侮辱性。 在很多地方都有人声...

2019-09-06 15:04:21 97

转载 听说你还不懂React Hook?

Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性从官网的这句话中,我们可以明确的知道,Hook增加了函数式组件中state的使用,在之前函数式组件是无法拥有自己的状态,只能通过props以及context来渲染自己的UI,而在业务逻辑中,有些场景必须要使用到state,那么我们就只能将函数式...

2019-09-06 15:03:05 137

转载 react hooks+redux+immutable.js打造网易云音乐精美webApp

一、技术栈简介前端部分:react v16.8全家桶(react,react-router) : 用于构建用户界面的 MVVM 框架redux: 著名JavaScript状态管理容器redux-thunk: 处理异步逻辑的redux中间件immutable: Facebook历时三年开发出的进行持久性数据结构处理的库 (它和memo、Redux搭配就是神器,memo包裹函数组...

2019-09-06 15:01:45 218

转载 公司新来的女实习生问我什么是闭包?

撩妹守则第一条,女孩子都喜欢童话故事。那就先来讲一个童话故事~//有一个公主//她生活在一个充满冒险的奇妙世界里//她遇见了她的白马王子,带着她骑着独角兽环游世界//与龙搏斗,遇到了会说话的松鼠,以及许多其他幻想的事情。functionprincess(){varadventrures=[];functionprinceCharming...

2019-09-06 14:59:44 68

转载 「前端进阶」从多线程到Event Loop全面梳理

引子几乎在每一本JS相关的书籍中,都会说JS是单线程的,JS是通过事件队列(Event Loop)的方式来实现异步回调的。 对很多初学JS的人来说,根本搞不清楚单线程的JS为什么拥有异步的能力,所以,我试图从进程、线程的角度来解释这个问题。CPU计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。进程假定工厂的电力有限,一次只能供给一个车间使用。 也就是...

2019-09-05 14:45:40 253

转载 JS中,如何提高展开运算符的性能

为了保证的可读性,本文采用意译而非直译。本文主要讲解怎么提高展开运算的性能,在此之前先简单说说展开运算在数组中的工作原理。展开运算符或三个点,接受一个数组数组或通常是可迭代的[... arrayOrIterable]并将数组元素分解,并使用这些分解部分构造一个新数组。展开运算符可以放在数组中的任何位置:constnumbers=[1,2,3];[0,...num...

2019-09-04 17:21:20 78

转载 面试官问:如何理解Virtual DOM?

一、vdom是什么?vdom是虚拟DOM(Virtual DOM)的简称,指的是用JS模拟的DOM结构,将DOM变化的对比放在JS层来做。换而言之,vdom就是JS对象。如下DOM结构:<ulid="list"><li>Item1</li><li>Item2</li></ul>复制代码映射成...

2019-09-04 14:45:09 707

转载 「干货」前端进阶应该知道的这些调试方法

前言平时工作量大并且很忙,也就意味着难免会在写代码的时候一不小心写出BUG。如果测试一旦没有测到,代码上到现网往往就是事故,很多同学在这种时候手忙脚乱,不知道怎么调试解决。本文就这点主要讲一下平时前端调试用的那些方法,希望能够给到大家帮助。遇到了BUG怎么办?如果你还是个前端小白,你最常用的调试方法应该是直接在代码中写下一个 log,例如:console.log('调试信息,...

2019-09-04 14:39:17 149

转载 你真的知道0.1+0.2为何不等于0.3吗?

打开chrome控制台,给一个特别简单的输入如下:0.1+0.2//0.30000000000000004复制代码不知道你有没有吃惊,这么简单的一个计算,无论在js中还是在python中,都不是准确的0.3,这是为什么呢?缘起要了解这个问题,首先我们需要知道浮点数在计算机中到底是如何进行存储的?不知道你是怎么想的,总之我开始的第一反应就是假设是32位的存储空间,我可...

2019-09-04 14:37:39 1706

转载 Java并发编程——ThreadLocal

ThreadLocal概述一、对ThreadLocal的理解1.1 ThreadLocal在JDK中的定义1.2 应用场景二、深入分析ThreaLocal类2.1 get()2.2 setIntialValue()2.3 ThreadLocal类是如何为每个线程创建变量副本三、ThreadLocal的应用场景3.1 数据库连接问题3.2 Session管理3.3 Thread...

2019-09-03 17:44:27 76

转载 「译」 Node.js 的未来是什么?

[译] nodejs的未来是什么—— 寻找一份工作并不是一件很容易的事情。Node JS 在non-blocking I/O 看来变得十分出名并且它通过利用 Javascript 在后端和前端中作为一种公用语言使得它的发展变得十分简便。服务端:感谢这一门强大的语言以及主要浏览器的支持和协助,Node.js 是在所有程序语言中运行速度最快的一门语言。我最近偶然看到一篇文章,这...

2019-09-03 15:18:45 363

转载 一步步带你实现web全景看房——three.js

1. 基本概念在THREEjs中,渲染一个3d世界的必要因素是场景(scene)、相机(camera)、渲染器(renderer)。渲染出一个3d世界后,可以往里面增加各种各样的物体、光源等,形成一个3d世界:场景:右手坐标系,一切要素都在场景里面,相当于“世界”,包括各种物质和物理变化//创建场景constscene=newTHREE.Scene();复制代码照...

2019-09-03 15:17:01 6509

转载 vue文档里 你没捡起来的宝藏

本文主要内容:来源于Vue文档你可能看过但是你可能没用过vue的数据响应失效了你知道什么情况下,vue的数据响应会是失效吗?官方举了个例子:varvm=newVue({data:{items:['a','b','c']}})vm.items[1]='x'//不是响应性的vm.items.length=2//不是响应性的复制代码...

2019-09-03 15:05:49 82

转载 web站点迁移Azure Web Site实战攻略

对于IT人员来说,可能会有这样的一些情况,IT人员最关心的并不只是Azure web site有多好,而是如何将传统的一些web site迁移到Azure web site中,这可能是IT人员更关心的问题。因此,特地写了一片文章,为各位介绍一下如何将传统的网站迁移到Azure web site中,本文中主要举例如何将传统的on premise IIS迁移到Azure web ...

2019-09-02 15:39:21 162

转载 聊一聊加班严重时要如何自我提升

前言看《小欢喜》看到 45 岁的方圆被辞退的那个场景我有点难过。当然我不是因为他而难过,我是想到我 45 岁的时候会不会也被辞退?这种情绪持续了几天也无法挥散。(我似乎知道为什么有些 40 多岁的老员工突然离职了)正文现在很多公司加班都很严重,这种情况导致很多人将学习放到了一边。有些人在这种情况越陷越深,导致自己知识架构和市场已经脱节。然后在出去找工作已经没有了议价能力,恶性...

2019-09-02 14:59:54 104

转载 面试必备的13道可以举一反三的Vue面试题

前言Vue框架部分我们会涉及一些高频且有一定探讨价值的面试题,我们不会涉及一些非常初级的在官方文档就能查看的纯记忆性质的面试题,比如:vue常用的修饰符?vue-cli 工程常用的 npm 命令有哪些?vue中 keep-alive 组件的作用?首先,上述类型的面试题在文档中可查,没有比官方文档更权威的答案了,其次这种问题没有太大价值,除了考察候选人的记忆力,最后,这种面试题...

2019-09-02 14:58:36 168

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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