Javascript 高阶函数-after

2020-05-25
阅读 1 分钟
2.8k
函数的after {代码...}

requestAnimationFrame详解

2019-10-10
阅读 5 分钟
8.5k
为什么要说它,源于看到的一道面试题:问题是用js实现一个无限循环的动画。 首先想到的是定时器 {代码...} 可以说是完美实现! 至于时间间隔为什么是1000/60,这是因为大多数屏幕渲染的时间间隔是每秒60帧。 既然setInterval可以搞定为啥还要用requestAnimationFrame呢?最直观的感觉就是,添加api的人是个大神级牛人,我...

一道前端面试题引发的思考

2019-07-04
阅读 2 分钟
3.8k
直接开始题目是 {代码...} 说句实话开发中谁写成这样保证会被打死。 不过面试就是面试,有面试官的考量点。 我理解的点有两个 1、隐式类型转换 先说说隐式类型转换有几种情况 先说条件判断 == String和Number比较:'1' == 1,字符串会调用Number()方法转为数字后再比较。 Boolean和Number比较:true == 1, Boolean调用Nu...

Javascript 原型链

2019-02-18
阅读 2 分钟
3.2k
先来一张图看看几个名词的关系 构造函数、原型、实例 原谅我的狂草字体,我手写比用电脑画快。 今天我们只说原型链,所以接下来我就围绕着原型链的几个部分说起。 这个大家都很熟悉了,首字母大写的函数我们都可以作为构造函数,不是说小写的就不能new,也是可以的,暂时说成约定俗成吧! {代码...} 代码部分结束了,今...

Javascript 冒泡、捕获、事件代理

2019-02-13
阅读 5 分钟
6k
2019开工荒了两天,赶紧开始! 为什么写事件代理、冒泡、捕获,首先冒泡和捕获是js事件的核心基础,事件代理原理来自冒泡和捕获。 此文章略过标准浏览器和非标准浏览器的事件流讲解,原因很简单我们现在已经幸福了,已经不考虑IE6、7、8了 直接说现代浏览器事件流,用两张图看看什么是冒泡 什么是捕获,其实从字面意思大...

leetCode算法-268(缺失数字)

2019-02-02
阅读 2 分钟
2.6k
给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。 示例 1: 输入: [3,0,1]输出: 2示例 2: 输入: [9,6,4,2,3,5,7,0,1]输出: 8 下面我用两种方法,一块了解一下。 求合法 {代码...} 索引查找法 {代码...} 完美,只不过没有第一种的效率高!毕竟每一次indexOf也是一次遍历过程。

半小时撸一个抽奖程序

2019-01-30
阅读 5 分钟
8.7k
需求总是很紧急,昨天正在开会收到人力需求,有时间做个抽奖吗?(now 下午四点12,年会五点开始。)还没能等我拒绝,人事又补了一句做不出来我们就不抽奖了,我擦瞬间感觉要是搞不出来会被兄弟们捅死的节奏,默默的删除了没时间做的消息,重新写了四个字名单给我。

让前端面试不在难(深度克隆 clone)

2019-01-29
阅读 4 分钟
2.1k
今天聊一下clone这个前端面试高频问题,由此引出typeof、instanceof、Object.prototype.toString这些javascript Api。

让前端面试不再难(常见算法)

2019-01-25
阅读 3 分钟
2k
昨天聊了一个算法题,今天接着聊!多聊几个。 1、拍平数组(多维数组变成一维数组) {代码...} 2、写一个方法判断字符串内()是否成对出现,是返回true不是返回false {代码...} ok 今天分享就到这,明天继续!

让前端面试不在难(常见算法一)

2019-01-24
阅读 3 分钟
1.9k
今天开始,我从面试题切入开始做一些详解和记录,争取每个工作日一篇!欢迎关注吐槽! {代码...} 要求以对象value的大小排序返回[c,a,b,f,d] 问题解析: {代码...} {代码...} 打印数组: 接下来就简单多了,多于的数组排序方法我就不一一写了,本次只为解决问题 {代码...} 此时结果为以value有序的数组了接下来遍历数组...

Javascript currying柯里化详解

2019-01-23
阅读 3 分钟
4.4k
先说说什么是柯里化,看过许多关于柯里化的文章,始终搞不太清楚,例如:柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。大多数的blog都是这种说法,说实话我是懵逼的。我的理解是,curry是一个收集参数的方法,收集够...

手写call、apply、bind及相关面试题解析

2019-01-18
阅读 5 分钟
4.2k
它们有什么不同?怎么用? call 接收多个参数,第一个为函数上下文也就是this,后边参数为函数本身的参数。 {代码...} apply apply接收两个参数,第一个参数为函数上下文this,第二个参数为函数参数只不过是通过一个数组的形式传入的。 {代码...} bind bind 接收多个参数,第一个是bind返回值返回值是一个函数上下文的th...

Promise加载图片用法详解

2019-01-17
阅读 3 分钟
8.2k
现在不会用Promise都不好意思说自己是前端,Promise为什么火起来,一句话解决了回调嵌套和执行顺序问题最重要的我感觉是解决顺序问题。

Javascript 事件循环event loop

2019-01-15
阅读 3 分钟
2.5k
都知道javascript是单线程,那么问题来了,既然是单线程顺序执行,那怎么做到异步的呢? 我们理解的单线程应该是这样的,排着一个个来,是同步执行。 现实中js是这样的 {代码...} 结果告诉我们,js是单线程没错,不过不是逐行同步执行。 那我们就来解析一下既然有异步,那顺序是怎样的?这些执行顺序规则就是理解eventLo...

javascript事件节流和防抖

2019-01-11
阅读 3 分钟
6.9k
说实话当初意识到是性能问题不过不知道怎么解决,搜索了很多相关问题,最后在[链接],遗憾的是具体的链接忘了。不过也是因为这个问题宋词爱上了这个网站,问题答案很靠谱。

Javascript 闭包详解

2019-01-09
阅读 1 分钟
2.2k
具体作用是有权访问函数内部的变量,最常见的就是函数内部创建另一个函数,通过另一个函数访问这个函数的局部的变量。缺点:就是常驻内存,会增大内存的使用量,使用不当会造成内存泄露。一般函数执行完毕,局部活动对象就会被销毁,内存中仅仅保存全局作用域,但是闭包会长期驻扎在内存。

Javascript 函数和变量提升

2019-01-08
阅读 2 分钟
2k
变量提升和函数提升基本上是面试必问题目 {代码...} 下面我们针对这个栗子解析一下 我们知道变量和很熟定义都会提升到作用域最前边 唯一需要确认的是变量和函数的先后顺序 我们预想 函数是用第一公民会不会提升到最前边呢? {代码...} 按照我们预想的解析结果应该是 // undefined// undefined// 报错 理由 函数在上var在...

defineProperty详解

2019-01-04
阅读 4 分钟
13.8k
//对你没看错defineProperty有这个功能,不知可以定义新的属性还可以修改,这么逆天难用的功能为什么还要造出来?说这个有什么用?别急往下看

javascript 前端优化-浏览器缓存

2018-12-28
阅读 3 分钟
6.6k
mate标签控制1、content-type(文档内容类型:用于设定文档的类型和字符集)2、expires(期限:可以用于设定网页的到期期限)3、pragma(cashe模式:即是否从缓存中访问网页内容)4、refresh(刷新:等待一定时间自动刷新或跳转到其他url)

javascript filter详解及应用

2018-12-27
阅读 1 分钟
2.6k
filter() 简单讲filter就是一个数组过滤器,参数接收一个函数,数组的每一项经过函数过滤,返回一个符合过滤条件的新数组 函数接收三个参数: item (当前遍历的数组项) i (当前项索引) arr (调用filter数组本身) {代码...} 再来一个应用,巧妙地用filter结合indexof实现去重 {代码...} **利用filter的过滤功能和in...

textarea 计数实现 全兼容版

2018-12-26
阅读 2 分钟
1.8k
全兼容版javascript字符计数textarea, javascript字符计数textarea,废话不多说直接上代码,亲测好使,兼容所有浏览器。

javascript map()详解

2018-12-26
阅读 2 分钟
16k
map() 不会对空数组进行遍历 {代码...} **函数内console没有执行,证明数组为空是并不执行遍历 返回一个新数组,长度等于原数组长度 {代码...} **即便函数返回空 结果数组的长度和原数组是一致的 不会改变原数组 {代码...} map() 参数必须是函数 {代码...} 函数接收三个参数 item (必须) 当前遍历项 i (非必须)当前遍...

javascript reduce详解及应用

2018-12-25
阅读 3 分钟
3.9k
callback(一个在数组中每一项上调用的函数,接受四个参数:)previousValue(上一次调用回调函数时的返回值,或者初始值)currentValue(当前正在处理的数组元素)currentIndex(当前正在处理的数组元素下标)array(调用reduce()方法的数组)

vue父子组件通信

2018-12-24
阅读 3 分钟
4.1k
组件目录结构 parentchild API: \$emit、 \$on、 \$refs、 props 1、父子组件通信 需求合理性我们先不考虑,demo就为了搞清怎么通信,我们要求:1、父组件传值给子组件,同时父组件input输入框value也可同步到子组件2、点击子组件加减子组件数字跟随变动, 父组件input value跟随变动, 父组件 {代码...} 子组件 {代码....