- 博客(47)
- 资源 (5)
- 收藏
- 关注
原创 2020-无销烟的互联网抗疫战争
2020疫情项目回顾过年期间,湖北武汉市等地近期陆续发生新型冠状病毒感染的肺炎疫情,“最美逆行者”义无反顾地冲在肺炎防疫的最前端。然而,我年三十收到部门命令,需快速上线“疫情速递”项目,为省级卫健委快速收集各地疫情情况,为全国人民第一时间反馈各省份疫情相关信息。项目期间,需带领队伍快速更新迭代上线,3天无眠无休,迭代20个版本。随着新型冠状病毒感染肺炎疫情的不断扩散,口罩需求激增,成为紧缺物资。为改善福田区居民购买口罩不方便的实际困难,避免聚众排队造成交叉感染的可能性, 2月19日,助力深圳市福
2020-12-27 13:20:48
461
1
原创 前端开发Javascript进阶Nodejs
曾经有下面的同事问我,“精通了前端的js,是不是入手nodejs会很快就能入手干活了”。由此我梳理了一下Node.js、ES、JS之间的区别,前端开发人员转Nodejs需要关注点。Node.js、ES、JS之间的区别1.ES定义了语法,写JS和nodejs都必须遵守的;包含变量定义、循环、判断、函数原型、原型链、作用域、闭包、异步但是不能操作DOM、不能监听click事件、不能发送ajax请求、不能处理http请求,不能操作文件;JS是 使用es的语法规范,外加Web API(w3
2020-11-29 17:55:32
323
1
转载 前端干货 : 如何为 Web 添加动画效果
这干货绝对干!找了好久才找到一本这么好的书本,收藏!书名:CSS animation 101作者:Donovan Hutchinson时间:2018简介:如何为 Web 添加动画效果。网址:https://github.com/cssanimation/css-animation-101 中文版https://github.com/H-Wakanda/css-...
2019-03-22 14:47:42
1423
原创 ant design pro 引入 gg-editor 常见问题
最近在用 antd pro + gg-editor 解决一些比较复杂的流程图业务场景。在 antd pro 引入 gg-editor 不难会碰到一些问题。记录一下,帮助各位开发者。有问题欢迎指出和讨论。修改GGEditor 流程图默认连接线解决办法:参考一下配置:<Flow graph={{ edgeDefaultShape: 'flow-polyline-ro...
2019-03-18 11:21:16
4385
10
转载 Javascript 数组 根据特定规则排序
var objs = [ {'name': 'A', 'type': 'fly'}, {'name': 'B', 'type': 'blur'}, {'name': 'C', 'type': 'wipe'}, {'name': 'D', 'type': 'cube'}, {'name': 'E', 'type': 'iris'}, {'name':...
2019-01-15 16:30:54
658
原创 回流和重绘 的 面试与优化方案
回流和重绘一直是前端工程师面试的常见,尤其是大厂的面试,毕竟前端页面优化也是考核开发者能力的关键之一。掌握回流和重绘的概念,不单单是为了面对各类面试,更能为前端开发者在日常开发中提供优化方案。理解回流(reflow)和重绘(repaint)首先,我们需要理解什么是回流和重绘,英文叫Reflow and Repaint 。回流 (Reflow ):当render树中的一部分或者全部因为大...
2019-01-12 17:07:22
1340
原创 node 爬虫 实战 - 爬取拉勾网职位数据
node 爬虫 实战 - 爬取拉勾网职位数据,主要想把数据用于大数据学习,到时候大数据分析可以自己分析一下职位的情况,和比较一些我现在的职位在深圳乃至全国的开发人员水平。涉及到的技术栈:node.js ,mongoDB , express 源码下载:https://gitee.com/draven_lee/node-spider ,如果有帮助到你,不需要打赏,欢迎给star。这个爬虫功...
2018-12-06 16:31:41
984
原创 分析 JS 的数组和对象的各种拷贝 总结
主要的拷贝概念主要分两种:深拷贝和浅拷贝,就是对于堆栈的引用或拷贝,JS中对象分为基本类型和复合(引用)类型,基本类型存放在栈内存,复合(引用)类型存放在堆内存。堆内存用于存放由new创建的对象,栈内存存放一些基本类型的变量和对象的引用变量。(关于JS的堆栈原理,可以查看一下下面链接:https://blog.youkuaiyun.com/sinat_15951543/article/details/7...
2018-12-06 15:57:22
175
原创 ajax技术的核心 -- XMLHttpRequest对象
ajax是异步加载数据技术标准ajax包括以下几步骤:1、创建AJAX对象;2、发出HTTP请求;3、接收服务器传回的数据;4、更新网页数据ajax技术的核心是XMLHttpRequest对象(简称XHR)IE5是第一款引入XHR对象的浏览器。在IE5中,XHR对象是通过MSXML库中的一个ActiveX对象实现的,而IE7+及其他标准浏览器都支持原生的XHR对象,所以说XHR的兼容性...
2018-10-18 10:50:05
649
原创 Javascript基本功 作用域 深入学习
聊起作用域,很多小伙伴并不陌生,是所有编程语言最基本的功能之一,就是在某个范围内储存变量的值。也可以说,“作用域就是根据名称查找变量的一套规则”。想入深入学习作用域,必先理解作用域。理解后面一行代码在底层的工作原理: var a = 1 ; 这条语句在编译器会并不是一步处理掉的,它会被拆分成两条语句,var a ,a = 1 。var a ,编译器会先查询询问变量a是否存在,再做声明操作。a...
2018-05-21 15:46:36
332
原创 大前端服务器渲染 发布和部署 Vue + Nuxt(SSR) + Nginx
不知道大家在接触React或者Vue的时候,有没有思考过,这个框架到底是在哪里渲染的?其实现在流行的Ng、React和Vue等前端技术,都是属于浏览器渲染,最初设计的理念是为了减轻服务器压力,但是这个也是有弊端的,最主要的,比如首页加载过慢(因为第一次加载需要加载JS等资源,然后浏览器会根据JS绘画渲染页面,这个过程需要一定的时间)和不利于SEO的优化(百度等国内的网络蜘蛛不会爬异步加载的网站...
2018-04-27 16:31:35
15514
2
原创 javascript的堆栈原理
首先说明一下Javascript的堆栈概念堆&栈两者都是存放临时数据的地方。栈是先进后出的,就像一个桶,后进去的先出来,它下面本来有的东西要等其他出来之后才能出来。堆是在程序运行时,而不是在程序编译时,申请某个大小的内存空间。即动态分配内存,对其访问和对一般内存的访问没有区别。对于堆,我们可以随心所欲的进行增加变量和删除变量,不用遵循次序。栈区(stack) 由编译
2018-02-01 15:48:17
14478
3
原创 Angular4.0 起步
第一步,首先准备,安装Node.js 和 TypeScript。 Node.js 的安装方式很多,具体可以看Node.js的官网了解。这里不做解释,提供官网(https://nodejs.org/en/)。这里值得注意的是,有很多同学都碰到的同一个问题就是,没留意nodejs的版本,官方说明了, node 6.9.x 和 npm 3.x.x 以上的版本, 在终端/控制台
2017-05-05 17:11:44
402
原创 node.js
Node.js是2009年5月发布的,真正火的时候,大概是2012年,现在都2017年了,再学习这个东西,是不是有点拖时代的节奏?说起来,我学习nodejs的起步有点晚吧,因为前段时间学习的方向有点迷茫,学习了一下angularjs,vuejs。后来学习网这两个前端模板引擎之后,感觉获取不到太多我想要的,但是经历过一系列深入学习node.js后,与C++,PHP和JAVA,对比起来,感觉学习nod
2017-02-24 15:58:06
692
原创 微信小程序 5分钟快速入门指南
11月3日,微信正式公测“小程序”。按照“微信之父”张小龙的描述,微信小程序是一种不需要下载安装即可使用的应用,用户扫一扫或者搜一下即可打开应用。对于我们开发者来说,社会需要什么,我们是得学习什么。好吧,废话不多说,先来快速入门吧。首先,是微信小程序开发的技术要求。你得要有html、js、CSS的基础,最好还有现在流行前端JS框架(比如ng-js、vuejs、r
2016-11-09 15:55:13
6660
原创 html5 cookies 详解
下图是我截取百度的cookies来说明一下Name:cookies的key值,一旦创建,name值不能修改。Value:cookies的value值Domain:cookies存储的域名Path:该cookies的使用路径,如果设置为/aa,则表示只有/aa的程序才能访问该cookies。Expires/Max-Aqe 过期时间,单位为秒。Size:cookies的字符长度,每
2016-09-29 13:53:12
3547
原创 html5 浏览器端存储常用技巧总结
1.用本地存储localstorage存储图片,技巧就是,把图片渲染到canvas中去。存储canvas。 代码如下:var src="img.jpg";function set(key){ var img=doucument.createElement('img'); //当图片加载完成的时候,触犯回调函数 img.addEven
2016-09-29 13:49:57
387
原创 html5 存储详解
一般的服务存储:cache(缓存 ),从DB或者磁盘读取出来的数据,放到缓存中的话,可以减少DB或者缓存的读取量磁盘文件,一般存放资源文件,比如图片或者视频数据库,存在关系型,可以快速索引查询数据。内存,频繁使用某数据的话,则存放在内存里,缓存也是存放在内存中的。在HTML5 之前的存储方式cookies,优点就是,方便使用,简单粗暴。缺点就是,每一次的http请求头上
2016-09-29 13:45:06
465
转载 快速构建AngularJs 2.0 教程
环境准备 : 安装 Node.js and npm 。步骤 1 :创建并配置此项目。步骤 2 :创建应用步骤 3 :创建一个组件并添加到应用程序中。步骤 4 :启动应用程序。步骤 5 :定义一个页面作为该应用的宿主。步骤 6 :构建并运行此应用。步骤 7 :做一些修改,并立即查看效果。收工,下一步如果你的机器上还没有 Node.js 和 npm , 安装它们 。 我们的例子
2016-09-18 15:04:02
9367
原创 AngularJs $scope作用域 深入探究
$scope是 ng的很基础的概念,也是最常用的东西。其实 $scope 就是存储数据的地方,即作用域,和javascript的原型链的概念有点类似,当搜索取值的时候,优先找自己controller的$scope,如果没有找到就沿着作用域链向上搜索,直至到达根作用域rootScope。$rootScope是由angularJS加载模块的时候自动创建,相当于是全局变量,每个模
2016-09-08 15:50:33
1069
转载 (javascript进阶必备) 运算符“||”和“&&”的巧妙用法
首先出个题:如图:假设对成长速度显示规定如下:成长速度为5显示1个箭头;成长速度为10显示2个箭头;成长速度为12显示3个箭头;成长速度为15显示4个箭头;其他都显示都显示0各箭头。用代码怎么实现? 差一点的if,else:var add_level = 0; if(add_step == 5){ add_level
2016-08-31 10:25:49
632
原创 javascript (对象继承)原型链
Js所有的函数都有一个prototype属性,这个属性引用了一个对象,即原型对象,也简称原型。这个函数包括构造函数和普通函数.JS中的继承,子函数通过把父函数实例化实现的。如以下代码:function SuperType111(){ this.property=true;}SuperType111.prototype.getSuperValue
2016-08-30 17:39:33
561
原创 javascript (对象定义)动态原型模式
这个主要做法就是,通过检查某个应该存在的方法是否有效,是否需要初始化原型。这个是通过构造函数中初始化原型,可以保存同时使用构造函数和原型的优点。代码演示:function Person(name,age,job){ this.name=name; this.age=age; this.job=job; if (typeof thi
2016-08-30 17:38:57
866
原创 javascript (对象定义)原型模式和构造函数模式 组合(重要)
在自定义类型中,最常用的方式就是原型模式和构造函数模式组合。构造函数模式用于定义实例属性,原型模式用于定义方法和共享属性。演示代码:function Person(name,age,job){ this.name=name; this.age=age; this.job=job; this.friends = ["lili",
2016-08-30 17:38:23
426
原创 javascript (对象定义)原型模式
每个函数中都有一个prototype(原型)属性,它是一个指针,指向一个对象。按照原型定义,prototype通过调用构造函数而创建的对象实例的原型对象。使用原型对象的好处是可以让所有实例共享它包含的属性和方法。代码例子:function Person(){}Person.prototype.name="Nicholas";Person.prototype.
2016-08-30 17:37:47
485
原创 javascript 原型对象
在JS中,无论什么时候,只要创建一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性,这个属性指向了函数的原型对象。在默认情况下,所有原型对象都会获得一个constructor(构造函数)属性,这个属性包含一个指向prototype属性所在函数的指针。而可以通过这个构造函数,可以继续为原型对象添加其他的属性和方法。当访问对象的时候,会先判断当
2016-08-30 17:37:07
336
原创 javascript (对象定义) 构造函数模式
使用构造函数模式新建对象的话,这样就能返回对应函数的的类型。创建一个函数,把构造函数的作用域赋给新对象。因为这个是在全局作用域里面定义的函数,以这种方式定义的构造函数是定义在Global对象中,在浏览器中的话就是window对象,所以能用window对象直接调用其中的方法。function Car(brand,color,num){this.brand=brand;
2016-08-30 17:36:50
530
原创 javascript (对象定义)工厂模式
工厂模式,可以理解为,定义一个接口,就是把参数传进去后,进过一系列的处理。然后得到相同想要的结果。否则,如果一个个对象都做相同操作的话,他这样会很消耗资源。在JS中创建对象会习惯的使用 new 关键字和类构造函数(当然主要还是对象字面量),问题在于这样会导致两个类之间产生依赖性。工厂模式就是一种有助于消除两个类依赖性的模式。解决处理多个项数对象的问题,但是没有解决对象识
2016-08-30 17:36:20
1051
原创 javascript面向对象 - 理解
javascript 没有类的概念,所以,在我的理解中,javascript的对象,可以理解为类,因为既可以定义属性又可以定义方法。JS在OOP(面向对象)中,访问器属性是面向对象的重要表现,它可以设置对象的私有属性。因为在面向对象中,可能需要在对象属性设值前或者设置后进行一系列的逻辑操作。1.对象的属性 对象的属性分为数据属性和访问器属性。defineProperties
2016-08-16 15:22:39
380
原创 基于jquery的异步上传,异步提交
1.明确需求,我需求是,需要选择多个文件,然后点击开始上传,把选中的文件上传,然后html默认上传文件的的input样式不好看,需要更换一个样式。2.开始动手,首先,先更换样式,我的思路是隐藏input标签,另外的节点绑定这个隐藏标签的点击,html代码里面,有标签和一个,点击标签可触发点击的点击事件。3.然后,jquery的fileupload插件,在依赖JQuery的j
2016-08-10 11:50:56
639
原创 javascript 数据类型(基本类型和引用类型的定义和区别)
ECMAStript变量包含两种不同类型的值,基本类型和引用类型。引用类型和传统的面向对象程序设计中的类相似,但实现不同。
2016-07-28 15:29:23
2834
原创 javascript 引用类型 - 内置对象(Math对象)
这里学习讨论一下Math对象Math对象和其他计算方法相比,这个对象提供的计算功能执行起来要快得多,而且还提供了辅助完成这些计算的属性和方法。
2016-07-28 15:27:26
954
原创 javascript 引用类型 - 基本包装类型(深入理解基本包装类型和基本类型的区别)
Boolean、Number、String有的解释说是基本类型,但是官方的说明,他们是特殊的引用类型。而据我总结,这三种类型比较特殊,既可以是基本类型,又可以是引用类型。为什么呢,请看下文。
2016-07-28 15:25:42
725
原创 javascript 引用类型 - Function类型(特性)
Function类型函数是属于引用对象的一种,每个函数都是Function类型的实例,而且和其他引用类型一样具有属性和方法。因此,函数名实际上是一个指向函数对象的一个指针,也可以理解为索引,不会与某个函数绑定。
2016-07-27 15:31:11
750
原创 javascript 引用类型 - Array迭代
很多童鞋搞不清迭代和遍历的区别。遍历就是对数组所有情况的循环,而迭代就是根据循环出来的结果再计算调整,所以迭代是遍历的一种。
2016-07-22 11:35:08
371
原创 javascript 引用类型 - Array与数据结构和重排序
ECMAScript 和其他语言一样,也是有类似数据结构的方法和行为,可以利用数组的下面几个方法,可以像数据结构一样使用数组 。
2016-07-21 15:42:00
355
性能测试诊断分析与优化
2018-10-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人