如何给开源项目贡献代码

test ·
原文链接:如何给开源项目贡献代码前几天看到一篇文章, 转载过来,等自己码代码的姿势水平上来之后,会用到 分两种情况: 代码仓库管理者给你添加该仓库的写入权限,这样的话可以直接push 如果不能直接push(大多数情况),采用经典的fork & pull request来提交代码,下面讲述这种情况 fork & pull request 例如有个仓库https://githu... 阅读全文

JS设计模式-观察者模式

test ·
前几天在忙着搬家,一直没有更新博客,之前在Github上看一个项目,人家用到了观察者模式,现在我把他记下来,巩固一下 观察者模式(发布/订阅模式) 对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 在现实生活中,我们经常用到这种模式,比如我在知乎上关注了某个人,或者在YouTuBe上订阅了某个频道,在微信上订阅了某个公众号,一旦我们订阅的对方... 阅读全文

call、apply、bind与this的用法

test ·
之前一直对这4个货都是一知半解,今天有必要把它们拎出来做一个了断了 简单的解释 this指向函数运行时的对象(谁调用这个函数,this就指向谁) apply、 call 、bind都是用来改变函数的this指向的 call与apply的不同是call传递参数时是一个一个传递, apply传递参数时是以数组的形式传递 call和apply都是立即调用,bind是返回一个函数,便于稍后调用 t... 阅读全文

CSS的一些高级技巧

test ·
不定期更新 用 :empty 区分空元素 假如我们有以上列表: <div class="item">a</div> <div class="item">b</div> <div class="item"></div> 我们希望可以对空元素和非空元素区别处理,那么有两种方案。用:empty 选择空元素: .item:emp... 阅读全文

一道前端面试题

test ·
今天在逛知乎的时候看见了这样一道题原文链接 写一个mul函数调用时将生成以下输出:console.log(mul(2)(3)(4)); // output : 24console.log(mul(4)(3)(4)); // output : 48 一个比较简单的方法 const mul = a=>b=>c=> a*b*c 但是这种办法的参数是写死的,不够灵活,看这种 funct... 阅读全文

JS运算符的一些用法

test ·
逻辑运算符 通常用于布尔型(逻辑)值;这种情况,它们返回一个布尔型值。然而,&&和||运算符实际上返回一个指定操作数的值,因此这些运算符也用于非布尔型,它们返回一个非布尔型值。 能够转换为false的表达式有:null,0,""和undefined. 短路计算 a()&&b() 如果a()为真,那么则执行b(),并返回b()执行之后的结果;如果a... 阅读全文

需要掌握的一些知识点

test ·
原作者:汪汪, 地址前端面试知识点总结本文只摘取部分内容 1、websocket websocket是一种协议,可以让我们建立客户端到服务器端的全双工通信,这就意味着服务器端可以主动推送数据到客户端, 2、webstorage webstorage是本地存储,存储在客户端,包括localeStorage和sessionStorage,localeStorage是持久化存储在客户端,只要用户不主... 阅读全文

JS的一种洗牌算法

test ·
function shuffle (arr) { var i, j,temp; for(i=arr.length-1; i>0; i--) { j = Math.floor(Math.random()* (i+1)) temp = arr[i] arr[i] = arr[j] arr[j] = temp ... 阅读全文

reduce的用法

test ·
1、求和 [ 0, 1, 2, 3 ].reduce( ( acc, cur ) => acc + cur, 0 ) // 6 2、数组扁平化 [[0, 1], [2, 3], [4, 5]].reduce( ( acc, cur ) => acc.concat(cur), [] ) // [0, 1, 2, 3, 4, 5] 3、计算数组中每个值出现的次数 var str = '... 阅读全文

一些前端社区地址

test ·
一些常去的社区地址 Nodejs React Angular Vue Vue官方社区 Vue中文社区 新增 微信小程序 ... 阅读全文
mode_edit