2 hawkey7

尚未进行身份认证

色即是空

等级
博文 24
排名 12w+

将字符串中的rgb颜色转换为16进制

有一个项目需要和原生对接,而原生的颜色无法识别rgb,因此出现了这个转换需求。细分析,这个需求需要:1. 提取出rgb颜色; 2.转换rgb为16进制3.替换 正好强大的js正则可以简化这个步骤,replace函数可以简化这个过程,省略掉了3这个步骤。废话不多说,直接上代码1.把转换rgb的函数formatColor提取出来,利用toString()可以转换...

2018-08-28 16:43:09

使用Proxy和Reflect实现观察者模式

观察者模式(ObserverMode)定义:函数自动观察数据对象的模式,一旦对象有变化,函数就会自动执行constobserveObj=require('./observe.js')constobserve=observeObj.observeconstobservable=Observe.observableconstperson=observable({...

2018-08-24 15:35:46

手写一个promise

classQromise{constructor(fn){this.status='pending'this.error=''this.data=''try{fn(this.onFullfilled.bind(this),this.onRejected.bind(th...

2018-07-24 15:38:34

js实现sleep效果

1.使用promisefunctionsleep(ms){vartemple=newPromise((resolve)=>{console.log(111);setTimeout(resolve,ms)});returntemple}sleep(500).then(function(){console.lo...

2018-07-24 10:04:30

js手动实现bind

Function.prototype.bind=function(obj){vararg=Array.prototype.slice.call(arguments,1);varcontext=this;varbound=function(){arg=arg.concat(Array.prototype.slice.call(arguments))...

2018-07-24 09:43:55

三道原生js面试题(面向高级)

这三题原本是公司为招聘的前端开发工程师定职级准备的题目,分别考察了库里化、中间件、回调函数的应用。独乐乐不如众乐乐,分享给大家,共同提升对原生js的理解~话不多说,亮题~大家如果有更好的实现方法欢迎提出探讨~ 1.编写curry.js实现函数的分步调用varcurry=require('./curry.js');//<-thisisthefiley...

2018-07-23 17:21:22

js异步时间的执行顺序

 Jobqueue中的执行顺序队列分为两种类型:macro-task(微任务)和microTask(宏任务)。我们举例来看执行顺序的规定,我们设macro-task队列包含任务: a1,a2,a3micro-task队列包含任务: b1,b2,b3执行顺序为,首先执行marco-task队列开头的任务,也就是 a1 任务,执行完毕后,在执行micro-task队列里的所...

2018-07-17 16:35:59

《高性能javascript》读书笔记

此书主要从js语法层面,算法,浏览器渲染机制,网络传输HTTP、XHR,项目创建和部署方面给与高性能网站的优化方式。一、加载和运行1.javascript阻塞dom渲染,尽量放在body底部。可以组合外接javascript,数量多性能更慢。保持javascript文件小。//window.onload之后开始下载脚本。不改变dom的脚本使用defered属性,其会异步下载,并

2018-02-27 14:56:29

Mac OS X Terminal教程

为什么要使用命令行/如何开启命令行?许多功能在图形界面不提供,只有通过命令行来实现。Finder会隐藏许多你不太会需要的文件,然而commandline会允许你访问所有文件。通过commandline可以远程访问你的Mac(利用SSH)。administrators用户可以通过 sudo 命令获得root用户权限。通过command-linescript可以

2018-01-31 16:58:24

fetch跨域实现及post传参问题

fetch跨域有两种方法:1.前端jsonp跨域2.后端设置cors跨域 首先,尝试了jsonp跨域,可以轻松成功连接上豆瓣API引入包fetch-jsonp try{consturl=`https://api.douban.com/v2/book/search?q=${searchName}&count=20`;y...

2018-01-03 14:37:28

《你不知道的javascript(上卷)》——读书笔记

《你不知道的javascript(上卷)》摘要:     我觉得这本数对javascript的一些难点有深层次的分析,遂打算近日拿来学习.      本书目录:           第一部分:作用域和闭包           第二部分:this和对象原型第一部分:作用域概念:引

2017-12-21 14:31:07

web缓存与304

细说缓存与304写在最前在平时的前端开发中我们经常会遇到这种操作。明明我代码更新了,咋刷出来还是以前的呢?是不是缓存了?快清下缓存看看!你看页面是304,怪不得没更新!等等很多情况。作者起初也不是很了解,因为这个不由前端来控制,都是后端的操作。故这次使用node也来写一个控制缓存的服务来真正搞明白这里的道道。欢迎关注我的博客,不定期更新中——浏览器缓存机制在说这个服务如何写之前我们...

2017-12-19 11:05:20

《javascript语言精粹》——读书笔记

继承、原型对象减少全局变量使用所谓编程即是一组需求分解成一组函数和数据结构的技能

2017-12-18 09:40:33

promise基础

promise简要介绍

2017-12-14 18:03:29

Google Analytic谷歌分析

GoogleAnalytic谷歌分析react-ga

2017-12-13 18:34:53

set和map

map//集合之复习,集合具有快速的查询速度//在需要对除字符串以外的数据类型进行映射的时候varmm=newMap([['Michael',95],['Bob',75],['Tracy',85]]);letmmm=mm.get('Michael');//95console.log(mmm)letobj={};l

2017-12-12 19:24:30

测试js程序运行时间

console.time('test')js

2017-12-08 19:21:55

git 学习总结

初始化gitinit添加新单位gitadd.提交单位gitcommit查看git状态gitstatus查看提交历史gitlog回到上一个版本HEAD^上上个版本是HEAD^^,前十个版本是HEAD~10gitreset--hardHEAD^如果后悔,还想回到刚才的最新版本(只需要输入几位就好了,git会自动去找)gitreset--hard345435gitstash

2017-12-08 15:48:34

js原生实现高性能懒加载(分步解析)

小弟不才,自己做了一个简单的懒加载,为了节约window.onscroll的次数,提高性能,设计了函数节流和函数防抖两种模式,后面想到更好的方法会更新,也请各位朋友多多指点!!:D废话不多说,直接亮代码~~1.简单懒加载:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Docu

2017-12-07 20:58:32

TypeScript中的 ?: 是什么意思

可选参数和可选属性使用了–strictNullChecks,可选参数会被自动地加上|undefined:复制到剪切板functionf(x:number,y?:number){returnx+(y||0);}f(1,2);f(1);f(1,undefined);f(1,null);//error,'null'isnotassignabl

2017-12-06 10:44:39
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!