- 博客(110)
- 收藏
- 关注
原创 编写可读代码的艺术
编写可读代码的艺术【美】Dustin Boswell 【美】Trevor Foucher前言2021-01-08我们的经验是程序员的日常工作的大部分时间都花在一些“基本”的事情上,像是给变量命名、写循环以及在函数级别解决问题。并且这其中很大的一部分是阅读和编辑已有的代码。2021-01-08关键思想是代码应该写得容易理解。确切地说,使别人用最短的时间理解你的代码。是什么让代码变得“更好”2021-01-08return exponent >= 0 ? mantissa * (1 &l
2021-01-31 13:14:09 339
原创 根据属性判断对象的假值
<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> </head> <body> <
2020-06-27 22:16:17 381
原创 代码的可维护与可拓展
代码应该一目了然,不要让维护者去猜你写的代码SRP原则 & 迪米特法则命名把信息装进名字里面,包括组件的命名,css的命名,js命名(避免类似getData1,getData2,temp等无意义、有歧义的命名)注释注释的代码尽量删除(往后需要复用的务必写明原因)尽量用命名来代替注释,不要滥写注释注释要让维护者很容易了解代码的功能移除或注释多余的console调试...
2020-05-03 23:55:57 639
原创 node 删除并复制文件
功能:删除dist目录的所有文件夹,并将src目录的文件全部复制到dist目录这里并没有使用异步删除,因为异步删除和异步复制同时进行会有问题。暂时没有很好地解决办法const fs = require('fs');const DIST = './dist'const SRC = './src'//同步删除所有文件const delDir = function(path){ var...
2019-09-25 00:36:50 211
原创 高阶函数之节流与防抖
节流和防抖在我们的日常代码中经常会遇到,下面我们来认识一下节流和防抖的应用场景以及它们的定义。定义相同点:两者的前提都是频繁触发不同点:节流:是确保函数特定的时间内至多执行一次。防抖:是函数在特定的时间内不被再调用后执行。应用场景节流:函数节流的应用场景一般是onrize,onscroll等这些频繁触发的函数防抖:输入框搜索自动补全事件,频繁操作点赞和取消点赞等等防抖...
2019-08-17 08:30:58 249
原创 高阶函数之柯里化函数
柯里化函数currying又称部分求值。一个currying的函数首先会接受一些参数,接受了这些参数之后,该函数并不会立即求值,而是继续返回另外一个函数,刚才传入的参数在函数形成的闭包中被保存起来。待到函数被真正需要求值的时候,之前传入的所有参数都会被一次性用于求值<!DOCTYPE html><html lang="en"><head> &...
2019-08-16 22:42:38 148
原创 权限统一控制
权限统一控制在很多场景下我们需要做权限控制,通常我们的做法是在场景请求数据时,在每个函数里面去判断是否有权限。但场景如果很多,更改权限控制逻辑时,每个场景的权限控制都要去改动,那样就很不友好了。那我们把权限控制和数据请求分离开,在请求数据前,先判断是否有权限。顺着这个思路,看下面的代码。我们知道es6有个新特性proxy, 它可以实现代理拦截,我们也用es6尝个鲜。es5权限控制<...
2019-08-16 22:05:14 478
原创 后台管理
开发背景为了更快的开展日常的营销活动,高效的整理各类活动的共性,对模板进行统一管理功能模块权限管理用户管理模块管理奖品管理素材管理(背景,音乐,图片)开发技术栈前端页面基于jQuery &amp; angular 实现后端页面信息基于ThinkPhp结构的PHP后台服务器返回后端活动业务信息基于SSH架构的java服务器返回mysql数据库...
2018-11-11 15:58:45 493
原创 前端编码规范
1.https://www.aliyun.com/jiaocheng/676792.html 2.https://blog.csdn.net/xllily_11/article/details/51249029 3.https://www.cnblogs.com/lvhw/p/7451351.html 4.http://xuanfengge.com/fedoc/index.html
2018-08-30 12:26:15 2238
原创 网页布局
布局方式 静态布局:网页上所有元素尺寸使用px为单位。 流式布局:屏幕分辨率变化时,页面里元素的大小会变化而但布局不变。 自适应布局:自适应布局的特点是分别为不同的屏幕分辨率定义布局,即创建多个静态布局,每个静态布局对应一个屏幕分辨率范围 响应式布局:媒体查询+流式布局 弹性布局 网页布局左边固定,右边自适应1.左边左浮动,右边加个margin-le...
2018-08-04 14:25:02 160
原创 智能提示
<!doctype html><meta charset="utf-8"><style type="text/css"> body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; ...
2018-06-08 16:29:01 238
原创 模拟qq对话框
<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-
2018-06-08 16:28:18 942
原创 图片懒加载
<!--<!doctype html>--><!--<html lang="en">--><!--<head>--> <!--<meta charset="UTF-8">--> <!--<meta n
2018-06-08 16:27:27 303
原创 css翻页技巧
<!DOCTYPE html><html> <head> <meta charset="gb-2312"> <title></title> <style type="text/css"> *{
2018-06-08 16:27:03 403
原创 模拟抽奖
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><style> .box {
2018-06-08 16:15:10 740
原创 jq模拟手机端滑动
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><met
2018-06-08 16:13:14 872
原创 js自定义滚动条
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> ..
2018-06-08 16:11:54 204
原创 vidoe进度条
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>HTML5-Video-Player</title> <style type="text/css"&
2018-06-07 10:21:09 552
原创 百叶窗
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>jQuery多种百叶窗风格切换焦点图插件DEMO演示</title><link rel="stylesheet" href=&
2018-06-06 20:58:43 352
原创 百度地图
$(function(){ var BMapInit=function(){ var map = new BMap.Map("Bmap"); // 创建地图实例 var point= new BMap.Point(113.730047,22.982745); // 创建点坐标...
2018-06-06 20:57:05 175
原创 画象棋棋谱
<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-
2018-06-06 17:35:50 607
原创 gulp打包实现版本控制
//引入gulp和gulp插件//var gulp = require('gulp'),//minifycss = require('gulp-minify-css'),//concat = require('gulp-concat'),// uglify = require('gulp-uglify'),// rename = require('gulp-rename'),// ...
2018-06-06 17:21:24 742
原创 视频进度条
<!DOCTYPE HTML><html> <head> <meta charset="gbk"> <title>视频播放</title> <style> #box{ width:500px;
2018-06-06 16:31:05 996
原创 轮播图
废话不多说,直接上代码&lt;!DOCTYPE html&gt;&lt;html&gt;&lt;head lang="en"&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;&lt;/title&
2018-06-06 16:13:34 165
原创 photoshop批量处理图片
ps批量处理主要分为两步批量处理步骤百度图示 1.ps记录处理动作 2.ps根据记录的动作批量处理文件 1.打开动作面板 2.打开图片 3.新建动作,点击记录 4.开始操作图片 5.储存图片 6.停止录制 7.点击文件选项,点击自动,点击批处理 8.批处理选项中要勾选“覆盖打开命令”“覆盖另存命令”,录制动作时JPG选项也应该录上。 ...
2018-06-02 10:06:35 2442
原创 Node之从入门到高级入门
概述本文主要利用node搭建服务器,配置路由,处理请求,最终实现了图片上传及在浏览器中展示功能。功能模块index.js 入口文件server.js 服务器搭建routes.js 配置路由requestHandles.js 处理请求架构梳理indes.js作为入口文件,配置不同路由的请求处理函数;并把touter和handler处理函数对象传递给 server...
2018-05-17 13:06:23 315
原创 原生js实现双向数据绑定
js实现双向数据绑定<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0&quo
2018-04-27 17:33:49 524
转载 css模拟行星
<html><head> <style> .solarsys{ width: 800px; height: 800px;; position: relative; margin: 0 auto; backgroun...
2018-04-20 14:31:33 230
转载 模拟手机滑动
<!doctype html><html><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1,minimum-scale=1,user-s
2018-04-20 14:29:34 605
原创 stream学习二
var stream = require('stream')var util = require('util')function ReadStream() { stream.Readable.call(this)}util.inherits(ReadStream,stream.Readable)ReadStream.prototype._read = function () ...
2018-04-19 16:51:29 154
原创 stream学习
来源慕课网var Readable = require('stream').Readablevar Writable = require('stream').Writablevar readStream = new Readable()var writStream = new Writable()readStream.push('I')readStream.push('L...
2018-04-19 16:41:14 173
原创 node之文件拷贝
var fs = require('fs')var readStream = fs.createReadStream('qd1.mp4')var writeStream = fs.createWriteStream('1-qd1.mp4')readStream.on('data',function (chunk) { if(writeStream.write(chunk) === ...
2018-04-19 15:55:40 368
原创 stream
var fs = require('fs')var readStream = fs.createReadStream('logo.png')var n = 0readStream .on('data',function (chunk) { n++ console.log('data emit') console.log(Buffer....
2018-04-19 15:46:29 152
原创 node之buffer模块
来自慕课网let fs = require('fs')fs.readFile('logo.png',function (err, origin_buffer) { console.log(Buffer.isBuffer(origin_buffer)) fs.writeFile('logo_buffer.png',origin_buffer,function (er...
2018-04-19 15:31:24 130
原创 nodejs-promise实现深度爬虫
代码来源慕课网const http = require('http');const cheerio = require('cheerio');const Promise = require('bluebird')let url = 'http://www.imooc.com/learn/348'let baseUrl = 'http://www.imooc.com/learn/...
2018-04-19 11:47:39 770 3
原创 promise应用一
<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-
2018-04-19 11:10:29 118
原创 node.js之评论灌水
内容来源慕课网let http = require('https')let querystring = require('querystring')let postData = querystring.stringify({ commentid:'', content: '写的可以啊', replyId:'' })let ...
2018-04-18 16:31:08 470
原创 node.js之爬虫实现
数据引用慕课网const http = require('http');const cheerio = require('cheerio');let url = 'http://www.imooc.com/learn/348'function filterChapters(html) { let $ = cheerio.load(html) let chapt...
2018-04-18 16:29:54 181
原创 闭包创建n!
<script> function outer() { let sum = 1; return function step(n) { if (n === 1) { return sum * n; } else {...
2018-04-17 17:07:00 220
原创 two.js画地球自转
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <style> svg,canvas{ backgro
2018-04-13 14:33:10 726
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人