自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(197)
  • 收藏
  • 关注

原创 滴滴裁员2000人:老板辞退你,从来都不是因为钱

几年前,雷军的一句“站在风口上,猪都能飞”,被无数互联网人奉为真经。有风的时候,猪都能飞,但一旦风小了,就可能会摔到地上,疼得嗷嗷叫。2018年,从游戏到团购再到共享,一片哀鸿遍野。或许当潮水退去的时候,才是所有人该去洗把脸,冷静思考的时候。今天这篇文章,就想借着最近滴滴宣布裁员的事情,和大家一起做下思考,职场里到底什么更重要。希望所有人看这种裁员的新闻时,都不是一副幸灾乐祸、隔岸观火...

2019-02-21 20:34:41 1828

原创 高性能JavaScript模板引擎原理解析

随着 web 发展,前端应用变得越来越复杂,基于后端的 javascript(Node.js) 也开始崭露头角,javascript 被寄予了更大的期望,与此同时 javascript MVC 思想也开始流行起来。javascript 模板引擎作为数据与界面分离工作中最重要一环,越来越受开发者关注,在开源社区中更是百花齐放,在 Twitter、淘宝网、新浪微博、腾讯QQ空间、腾讯微博等大型网站中均...

2019-05-19 21:06:12 394

原创 五分钟带你学会 JavaScript 闭包

闭包,是javascript中独有的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,你很难从定义去理解它。因此,本文不会对闭包的概念进行大篇幅描述,直接上干货,让你分分钟学会闭包!1 闭包–爱的初体验在接触一个新技术的时候,我首先会做的一件事就是:找它的demo code。对于码农们来说,代码有时候比自然语言更能理解一个事物。 其实,闭包无处...

2019-05-19 17:50:47 405

原创 怎样成为一个伟大的 JavaScript 程序员

当前大多数Web开发人员面临着这样一个共同的问题:他们必须在多个不同的领域领先于他人——从数据库到后端架构,到前端用户界面,再到使用良好的CSS知识修正用户界面。阅读书籍首先,也是最重要的一点是,你必须付出努力才能脱颖而出。虽然你也可以在无心中获得点点滴滴的积累,例如,不时地阅读一些博客文章,而且老实说,因为这种方法最初的时间和精力的投入要求低得多,所以更简单。这样的学习模式显然比你专门和刻意...

2019-05-17 17:23:31 435

原创 JavaScript人脸检测的实现方法

今天,我们开始学习tracking.js,它是一个由Eduardo Lundgren开发的轻量级的javascript库,它可以让你做实时的人脸检测,色彩追踪和标记好友的脸。在这个教程中,我们将会看到,我们如何从静态图片中检测脸,眼睛和嘴巴。我一直对视频和图片中的人脸标记、检测和人脸识别技术很感兴趣。尽管我知道获取逻辑和算法去开发人脸识别软件或者插件已经超出了我的想象。当我知道Javascrip...

2019-05-16 20:14:13 639

原创 一篇文章教你开发一个完整的JavaScript组件

作为一名开发者,大家应该都知道在浏览器中存在一些内置的控件:Alert,Confirm等,但是这些控件通常根据浏览器产商的不同而形态各异,视觉效果往往达不到UI设计师的要求。更重要的是,这类内置控件的风格很难与形形色色的各种风格迥异的互联网产品的设计风格统一。因此,优秀的前端开发者们各自开发自己的个性化控件来替代浏览器内置的这些控件。当然,这类组件在网络上已经有不计其数相当优秀的,写这篇文章的目的...

2019-05-16 16:31:31 1359 1

原创 解析JavaScript的隐式类型转换

avaScript的数据类型分为六种,分别为null,undefined,boolean,string,number,object。object是引用类型,其它的五种是基本类型或者是原始类型。我们可以用typeof方法打印来某个是属于哪个类型的。不同类型的变量比较要先转类型,叫做类型转换,类型转换也叫隐式转换。隐式转换通常发生在运算符加减乘除,等于,还有小于,大于等。。typeof '11' ...

2019-05-16 16:05:18 146

原创 9个最好用的JavaScript开发工具和代码编辑器

Web设计和开发是现今越来越流行的职业方向之一。工欲善其事,必先利其器,如果你想在这个领域出类拔萃,那么你就必须具备一些优秀的技能,例如能操作不同的平台、IDE和其他各种各样的工具。谈到平台和IDE,现在已经不是以前那个掌握一个IDE就能“一招鲜吃遍天”的时代了。激烈的竞争以及蔓延到现在的集成开发环境。基于IDE是用于创建和部署应用程序的强大客户端应用程序,下面我们要分享的就是对于很多网页设计师...

2019-05-15 17:40:31 8950

原创 深入解析Javascript闭包及实现方法

一、什么是闭包和闭包的几种写法和用法1、什么是闭包闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。闭包的特点:1. 作为一个函数变量的一个引用,当函数返回时,其处于激活状态。2. 一个闭包就是当一个函数返回时,一个没有释放资源的栈区。简单的说,Javascript允许使用内部函数—即函数定义和函数表达式位于另一...

2019-05-15 17:16:56 204

原创 深入解析Javascript闭包及实现方法

一、什么是闭包和闭包的几种写法和用法1、什么是闭包闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。闭包的特点:1. 作为一个函数变量的一个引用,当函数返回时,其处于激活状态。2. 一个闭包就是当一个函数返回时,一个没有释放资源的栈区。简单的说,Javascript允许使用内部函数—即函数定义和函数表达式位于另一...

2019-05-15 17:16:56 258

原创 构建基于 Node.js 的条形码识别程序

在这篇文章中,我们将展示一个非常简单的方法构建一个自定义的 Node 模块,该模块封装了Dynamsoft Barcode Reader SDK ,支持 Windows、Linux 和 OS X,同时我们将演示如何集成这块模块实现一个在线的条形码读取应用。越来越多的 Web 开发者选择 Node 来构建网站,因为使用 JavaScript 来开发复杂的服务器端 Web 应用越来越便利。为了扩展在...

2019-05-14 21:06:20 633

原创 Node.js新手必须知道的4个JavaScript概念

如果只需要知道一种编程语言就可以构建一个全栈的应用程序,是不是特别了不起?Ryan Dahl为了把这个想法成为现实,创造了node.js。Node.js是建立在Chrome强劲的V8 JavaScript引擎上的服务器端框架。虽然最初是用C++编写的,但是应用程序通过JavaScript运行。这样一来,问题就解决了。一种语言就可以统治一切。而且,在整个应用程序中你只需要使用这一种语言。所以,我们...

2019-05-14 17:04:18 210

原创 提升 Node.js 应用性能的 5 个技巧

Node.js是全球领先的用JavaScript——世界上最流行的编程语言创建服务器应用程序的工具。提供web服务器和应用服务器的功能,Node.js被认为是各种以微服务为基础的开发和交付的关键工具。Node.js可以替代或增强Java和.NET用于后端应用程序的开发。Node.js是单线程的,并且使用非阻塞I / O,允许它扩展并支持数以万计的并行操作。它和NGINX共享这些架构特性,并解决...

2019-05-14 15:35:52 398

原创 那些容易被忽视Node.js 面试题

如果你希望找一份有关Node.js的工作,但又不知道从哪里入手考察自己对Node.js的掌握程度。 本文就提供了这样的一份Node.js面试题列表,通过考察Node.js编程中的一些主要细节, 来帮助你评估你对于Node.js开发的掌握程度。在进入正文之前,需要提前声明两点:这些问题只是Node.js知识体系的一个局部,并不能完全考察被面试者的实际开发能力。对现实世界开发中遇到的问题,需要...

2019-05-13 17:32:00 319

原创 前端面试中的css常用知识点总结

1、CSS选择器的优先级!important  > 内联 > id选择器 > 类选择器 > 标签选择器多个类选择器叠加(256)之后的优先级大于一个id选择器!important 用于强调CSS属性具有最高的优先级。IE6不支持这种用法。CSS选择器的种类:1.id选择器(# myid)2.类选择器(.myclassname)3.标签选择器(div,...

2019-05-10 16:41:17 272

原创 JavaScript函数表达式——“函数的递归和闭包”的注意要点

JavaScript函数表达式——“函数的递归和闭包”的注意要点函数表达式的基本概念name属性和函数提升首先,name属性,通过这个属性可以访问到给函数指定的名字。(非标准的属性)如:function People(){};console.log(People.name); //People其次,函数声明提升,意味着可以把函数声明放在调用它的语句后面。如:sayHi()...

2019-05-10 15:11:21 195

原创 一篇文章带你搞懂JS对象的自我销毁

在日常的JS组件开发中,往往会有一些较为复杂的DOM操作及事件监听,尤其是在处理UI层面的widgets时候更为明显。常常会花很多精力在对象的init上,而当组件需要被移除时则仅仅是把所在DOM草草的remove掉就算完事儿。当然,绝大多数情况这样处理并没有什么不妥,因为事件监听时仅仅局限于所属的DOM自身,移除DOM后,只要对象的外部引用不再维系,相关的内存占用很快就会被当作垃圾回收掉(本文不...

2019-05-09 20:54:54 1620

原创 前端面试要注意的那几个点?

不管是刚毕业踏入社会的还是在职场久经奋战的,都经历过被面这一环节。当然也有很多同学开始在面人,为自己的团队选择优秀的血液。而我也是属于这一类,这些年都有在帮公司或朋友的团队物色人才和面试同学。今年在手淘也一样,在给同学面试过程中,让我开始在思考,而且思考了很久,所以这几天静下来写了这篇文章,希望这篇文章对于刚毕业的大学生或者还在继续参加工作面试的同学有所帮助。什么是前端什么是前端?在这里不做...

2019-05-09 16:40:43 378

原创 小程序性能优化的实践技巧

评判小程序页面性能由于小程序开发环境的特殊性,我们不能像普通网页那样通过chrome开发工具或者一些成熟的性能测试工具(例如Lighthouse)来了解一个页面的性能,但微信官方提供了一个性能评分的工具,点击这里可以查看工具详情。体验评分是一项给小程序的体验好坏打分的功能,它会在小程序运行过程中实时检查,分析出一些可能导致体验不好的地方,并且定位出哪里有问题,以及给出一些优化建议。后面我...

2019-05-06 13:53:42 731

原创 两步快速获取微信小程序源码

简单聊一下xxxxx.wxapkg先来想想一个很简单的问题,小程序的源文件存放在哪?在微信的服务器上。普通用户想要直接获取到在微信服务器去获取,肯定是十分困难的,有没有别的办法呢?简单思考一下我们使用小程序的场景就会明白,当我们点开一个微信小程序的时候,其实是微信已经将它的从服务器上下载到了手机,然后再来运行的。所以我们应该可以从手机本地找到到已经下载过的小程序文件那么小程序文...

2019-05-06 13:53:05 2102 1

原创 适用于小程序的 ES6

一、codePointAtJavaScript内部,字符以UTF-16的格式储存,每个字符固定为2个字节。对于那些需要4个字节储存的字符(Unicode码点大于0xFFFF的字符),JavaScript会认为它们是两个字符。ES6新增了完全支持UTF-16的方法codePointAt(),该方法接受编码单元的位置而非字符位置作为参数,返回与字符串中给定位置对应的码位,即一个整数值var te...

2019-05-06 13:48:39 710

原创 vue-cli+es6引入es5写的js(两种方法)

学习了vue有一段日子了,vue+es6开发非常好用,vue的插件非常多,很充足,但是还是会用到引入第三方外部js的时候,但是很多人在vue-cli中的.vue文件引入es6会出很多错误,因为我们的代码是es6写的,你引入es5的js当然会出问题,那么而接下来我讲大家讲解一波,怎么引入第三方es5写的 js方法1:import XX from “路径”Vue.use(XX); 这里的...

2019-05-06 13:48:04 3103

原创 如何正确使用Node.js事件

事件驱动的编程变得流行之前,在程序内部进行通信的标准方法非常简单:如果一个组件想要向另外一个发送消息,只是显式地调用了那个组件上的方法。但是在 react 中用的却是事件驱动而不是调用。事件的好处这种方法能够使组件更加分离。在我们继续写程序时,会识别整个过程中的事件,在正确的时间触发它们,并为每个事件附加一个或多个事件监听器,这使得**功能扩展变得更加容易。**我们可以为特定事件添加更多的...

2019-05-06 13:46:54 195

原创 使用 node 模拟请求接口

使用 Vue 写项目肯定会遇到一个问题,如何模拟服务端请求数据,那这就需要用到 node.js了。这篇我们讲解一下如何使用 node.js 模拟服务器端请求数据。一、 初始化并创建一个项目vue init webpack-simple node-democd node-demonpm icnpm i vuex axios -S二、编写接口在 build 文件下的 webpack....

2019-05-06 13:46:24 789

原创 Node.js 源码调试

任何信息的价值都有时效性和适用性,本文写时 Node.js 的最新发行版是 v11.14.0,LTS 是 v10.15.3,文中出现的源码均来自 tag: v11.14.0。使用的电脑环境是:macOs 10.14.2。前言Node.js is a JavaScript runtime built on Chrome’s V8 JavaScript engine.Node.js 是基...

2019-05-06 13:45:06 693

原创 教你从源码看Vue的响应式原理!

前段时间把 vue源码抽时间看了一遍,耐心点看再结合网上各种分析文章还是比较容易看明白的,没太大问题,唯一的问题就是看完即忘当然了,也不是说啥都不记得了,大概流程以及架构这些东西还是能留下个印象的,对于 Vue的构建算是有了个整体认知,只是具体到代码级别的细节很难记住多少,不过也情有可原嘛,又不是背代码谁能记住那么多逻辑绕来绕去的东西?想来想去,响应式这个东西几年前就已经被列入《三年前端,...

2019-04-30 17:43:15 365

原创 演示Vue.js 是如何进行「依赖收集]

初始化Vue我们简单实例化一个Vue的实例, 下面的我们针对这个简单的实例进行深入的去思考:// app Vue instancevar app = new Vue({ data: { newTodo: '', }, // watch todos change for localStorage persistence watch: { newTodo: {...

2019-04-30 17:42:50 717

原创 实战演示VUE搭建手机商城

vue单页模式需要注意的坑1.class样式冲突问题方法一: 由于是单页面应用。你在每个组件里面写入的样式最终都会作用到全局里面去,导致样式冲突问题。而每个组件都必须提供一个包裹性质的元素,建议这个元素设置一个单独的class用于包裹里面的其他class从而避免样式冲突方法二: 在style标签里加入scoped属性,在修改公共组件的样式会变得异常麻烦。<style scoped&...

2019-04-30 17:42:28 1487

原创 教你从源码看Vue的响应式原理

前段时间把 vue源码抽时间看了一遍,耐心点看再结合网上各种分析文章还是比较容易看明白的,没太大问题,唯一的问题就是看完即忘当然了,也不是说啥都不记得了,大概流程以及架构这些东西还是能留下个印象的,对于 Vue的构建算是有了个整体认知,只是具体到代码级别的细节很难记住多少,不过也情有可原嘛,又不是背代码谁能记住那么多逻辑绕来绕去的东西?想来想去,响应式这个东西几年前就已经被列入《三年前端,...

2019-04-30 17:41:52 331

原创 让你们更清楚的了解Vue 生命周期实现

前言在我们平时使用各种框架的时候,都避免不了使用到一种特性,就是 生命周期 钩子,这些钩子,可以给我们提供很多便利,让我们在数据更新的每一个阶段,都可以捕捉到它的变化。我们最主要讲的是 vue 的生命周期,先来一份大纲:beforeCreate(初始化界面前)created(初始化界面后)beforeMount(渲染dom前)mounted(渲染dom后)beforeUpdate(...

2019-04-29 22:06:19 291

原创 详解小程序多端框架全面测评

现在流行的多端框架可以大致分为三类:1. 全包型这类框架最大的特点就是从底层的渲染引擎、布局引擎,到中层的 DSL,再到上层的框架全部由自己开发,代表框架是 Qt 和 Flutter。这类框架优点非常明显:性能(的上限)高;各平台渲染结果一致。缺点也非常明显:需要完全重新学习 DSL(QML/Dart),以及难以适配中国特色的端:小程序。这类框架是最原始也是最纯正的的多端开发框架,由于底层到...

2019-04-29 22:05:57 1193

原创 webpack常用优化配置

1.1 优化loader配置1.1.1 include & exclude module:{ rules:[ { test:/\.js$/, use:['babel-loader?cacheDirectory'],+ include:pat...

2019-04-28 22:06:35 1501

原创 半个小时,学习 Webpack

由于 JavaScript 应用程序的复杂性不断增加,构建工具已成为 web 开发中不可或缺的一部分。Bundlers 允许我们去打包、编译和管理现代 web 项目需要的众多资源文件和依赖库。在本教程中,我们将了解 webpack,一个强大的开源打包和预处理器,可以处理大量复杂多样的任务。我们将向您展示如何去编写 modules, bundle 代码和使用一些 loader 插件。本教程为 w...

2019-04-28 22:06:15 315

原创 Vue 移动端活动倒计时优化

前言通常写倒计时效果,用的是 setInterval,但这会引发一些问题,最常见的问题就是定时器不准。如果只是普通的动画效果,倒也无所谓,但倒计时这种需要精确到毫秒级别的,就不行了,否则活动都结束了,用户的界面上倒计时还在走,但是又参加不了活动,会被投诉的╮(╯▽╰)╭一、 知识铺垫1. setInterval 定时器先说本文的主角 setInterval,MDN web doc 对其...

2019-04-28 22:05:52 1323

原创 React项目中碰到的IE问题

最近接手一个React项目,在IE下碰到了俩问题IE11报错如下:跟踪一下之后,发现是一些其他的npm包里面用到了startsWith这个方法,可以自己polyfill一下:if (!String.prototype.startsWith) { String.prototype.startsWith = function (search, pos) { return this.subs...

2019-04-26 21:30:27 2064

原创 为什么说这是前端最好的时代?

有人说这是前端最难受的时代,工作压力大,技术更迭太快,需要去学的东西太多。我想说这其实是前端最好的时代,庞大的市场需求,优渥的薪资待遇,广阔的应用领域。随着多设备、浏览器和web标准的演变革命,前端正在成为兼顾逻辑、性能、交互、体验的综合性岗位,前端也变得越来越有挑战和意义。01庞大的市场需求在互联网的发展下,新生出一大批互联网公司,传统企业也逐渐向互联网公司转变。这也使得市场上前端人才缺...

2019-04-26 21:30:03 170

原创 封装Vue组件的一些技巧

写Vue有很长一段时间了,除了常规的业务开发之外,也应该思考和反思一下封装组件的正确方式。以弹窗组件为例,一种实现是在需要模板中引入需要弹窗展示的组件,然后通过一个flag变量来控制弹窗的组件,在业务代码里面会充斥着冗余的弹窗组件逻辑,十分不优雅。本文整理了开发Vue组件的一些技巧,包含大量代码示例。开发环境vue-cli3提供了非常方便的功能,可以快速编写一些测试demo,是开发组件必备的...

2019-04-26 21:29:42 1754 1

原创 解析webpack 打包后文件分析

webpack 用于编译 javascript 模块, 可以把文件格式编译成我们想要的静态文件格式, 但是处理的过程并不是全部由 webpack 本身完成, webpack 只是提供了一个打包机制, 对于各类文件的打包处理需要使用相对应的 预处理模块 loader 来处理, 作为一种机制 webpack&...

2019-04-26 21:29:12 3426

原创 前端的你,必须知道这些前端的坑!

前端是一个相对比较新的行业。但在这几年期间,随着W3C标准的不断更新以及node.js的兴起,基于node.js一系列的工具和诸多前端框架都参差不齐的浮出水面。大多数不了解前端的人想转行前端,第一点原因是前端极其低的门槛,第二点是他们对前端的理解,普遍停留在毫无计算含量的网页布局以及和美工一样的样式设计。计算机专业的人选择前端,是因为他们认为前端不需要过多的逻辑思维计算,他们讨厌编程。非计...

2019-04-25 14:31:12 230

原创 使用webpack搭建vue项目实现脚手架功能

对于刚刚接触编程的人来说,最难的可能并不是学习一种新语法或者框架,而是编程思维,这种思维在调试的时候显得尤为重要,拥有良好的编程习惯和思维能力可以大幅度提高调试效率。而编程思维的培养往往需要经验的积累,只有把底层原理一遍遍地思考之后,才会有更深入的理解,这也是vue官方文档中不建议vue初学者直接使用vue-cli的原因之一。所以今天特意一步步通过webpack配置,实现与vue-cli相同的效...

2019-04-25 14:29:28 685

空空如也

空空如也

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

TA关注的人

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