自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 waitgroup的微妙之处

其实我之前理解说waitgroup的add和done无法同步,当时就觉得很奇怪for(i = 1;i <3 ;i++){add(3)go func(){done}()wait}看过源码的都知道,done其实就是add,那么如果说我协程运行的很快,比方说我现在第一个协程都运行完了,然后我去做这个wait,那这算不算同步呢??再比方说吧for(3){go fu...

2019-11-09 19:42:47 212

原创 go readfile详解buffer

需要判断到底是文件不存在还是其他原因注意:当文件不存在的时候返回的err是nil。这里返回的data是[]byte。func readAll(r io.Reader, capacity int64) (b []byte, err error) { var buf bytes.Buffer // If the buffer overflows, we will get bytes.ErrT...

2019-11-09 17:09:40 756

原创 go学习笔记

2019-09-16 15:37:06 149

原创 js数组对象去重

function(array){var obj = {};return array.filter(function(value, index)=>{return obj.hasOwnProperty(typeof item + JSON.stringify(item)) ? false : (obj[typeof item + JSON.stringify(item)] = tr...

2019-08-23 18:54:01 280

原创 数组扁平化

function flat(){array = []for(var i = 0;i < arr.length;i++){if(Array.IsArray(arr[i]))array.concat(flat(arr[i]))elsearray.push(arr[i]);}return array}

2019-08-23 16:01:32 140

原创 bind的原生实现

function.prototype.mybind = function (othis){var arr = Array.prototype.slice.call(argumets, 1);var self = this;var found = function(){return self.call(this instanceOf found ? this :self, arr.con...

2019-08-20 13:51:51 205

原创 ES6的class中的extends是如何实现的?

来个原生的函数class Parent{constructor(name, number){this.name = name;this.number = number;return {number:number;}}}class Child{constructor(name,age,number){super(name,number);this.age = age;...

2019-08-20 12:06:50 505

原创 promise实现异步并行和异步串行

异步并行promise.all(pronises);确保操作能并行执行,但是缺点,只要一个失败那就完蛋;可以改进const arr = [name1, name2, neme3];all.map(functin(id){return new Promise(function(resolve, rejict){}).then((data)=>{array.push(data)})....

2019-08-19 10:22:56 858

原创 js排序(快速排序,插入排序, 堆排序)

插入排序,平均和最坏均为O(N ^ 2),若已经预先排序好, 那么为O(N)void Insertionsort(array){var N = array.length;for(var i = 1; i < N; i++){var tmp = array[i];//检测array[i]找到满足array[i] > array[i - 1]的, 不符合的前移, j >...

2019-08-17 18:59:47 155

原创 js中的class如何转移成ES5呢

var Person = function(){function Person(name,age){if(!(this instanceof Person))throw Error(“Must Use NEW”);this.name = age;this.age = age;}_prototype(Person,[{key:“saynothing”, value:function ...

2019-08-17 12:07:39 829

原创 从BFC到浮动到定位

详解一个块级BFC的内部当然有普通的盒子,其中普通的盒子内部又有BFC块。注意,是folat的高度参与BFC的计高度算,不代表所有BFC都能参与计算。两个BFC区域不会重叠。当然说的是相邻的BFC...

2019-08-16 16:47:11 101

原创 css绘制图形

一定要设置border-style,不然默认为noneborder-width有默认值通过border-radius设置弧度。。通过background和background-clip显示背景颜色,主要background-clip可选择content-box,padding-box,margin-box。都没毛病,注意当然background背景的颜色被边框覆盖。如果统一设置了bor...

2019-08-15 19:49:01 125

原创 找出数组中重复出现的元素

function remove(arr){var new_arr = [];var new_arr2 = [];arr.forEach((val, index)=>{//new_arr是对数组去重if(new_arr.indexOf(val) === -1){new_arr.push(val);}else //对重复的元素本身去重{if(new_arr2.indexO...

2019-08-15 16:38:57 692

原创 js实现事件机制

function Emitter() {this._listener = [];}Emitter.prototype.bind = function(eventName, callback) {//每一个_listener中为[callback1,callback2];var listener = this._listener[eventName] || [];listener.pus...

2019-08-15 13:00:53 286

原创 reactjs源码解析-createElement

const RESERVED_PROPS = {key: true,ref: true,__self: true,__source: true,};const ReactElement = function(type, key, ref, self, source, owner, props) {const element = {// 此标记允许我们将其唯一标识为React元素...

2019-08-14 11:02:08 126

原创 寄生组合继承

function Parent(age:number){this.age= age;this.sayAge=function(){console.log(this.age);}}Parent.prototype.sayParent = function(){alert(“this is parentmethod!!!”);}function children(age:...

2019-08-13 20:21:01 114

原创 react

REACT

2019-07-20 11:14:52 108

空空如也

空空如也

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

TA关注的人

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