摘要:
闭包都是个老掉牙的话题了,这次又提起,是因为重看Redux源码时发现了applyMiddleware里的用法很巧妙。我们先看一个简单的例子。 打印结果是4还是8呢? 对象b有一个属性name。name是一个方法,函数体里使用了函数a,a是全局作用域的变量,之后a修改了。答案是8。我们不是在作用域里取 阅读全文
摘要:
我们知道普通函数调用,this在非严格模式下指向全局对象,在严格模式下是undefined。那箭头函数呢?我们知道,箭头函数没有自己的this,它的this是最近外层非箭头函数的this,那直接在顶层用的箭头函数的this在严格模式下是什么呢?不太好解释,我们看下代码 顶层的箭头函数外面没有函数了, 阅读全文
摘要:
对于Vue的双向绑定,现在基本是个前端都听说过,面试官也喜欢问这个问题。但对于Vue双向绑定的原理,掘金、博客园和segmentfault等技术社区充斥着大量的错误文章。这些文章的题目基本样子如下 “面试题:如何实现Vue的双向绑定”或“Vue源码解读:Vue双向绑定原理”,文章里写的Vue 2.0 阅读全文
摘要:
做了刚新网站 姜瑞涛的官方网站 先看下面的代码,思考一下输出 在浏览器是分别输出Error: 3(正常打印出错误实例,未报错)和 Uncaught Error: 5(一个未捕获错误) 然后思考为何第二块代码未捕获到错误。自己目前的思考是try和catch是在当前调用栈里,遇到setTimeout的时 阅读全文
摘要:
之前在几个CSS布局问题中,举了上下固定,中间自适应布局的例子,当时的例子父级元素的宽高都给定了,其实并不是个好例子,既然要自适应,父级元素就应该跟着页面大小变化,从而中间子元素也自适应。3种方法,其实是2种,因为是针对body,所以用fixed可以直接替换absolute来用。注意同时给html和 阅读全文
摘要:
nth-of-type这个CSS3伪类还从来没有用过,今天好好研究一番,发现还是有用的。现在下面的Demo 显示结果如下 可见,p:nth-of-type(1)是取父元素下的p这种类型的第一个,p前面可能会有其它类型的元素;而p:nth-child(1)是父元素的第一个元素,且该元素必须是p。可以参 阅读全文
摘要:
以标准的DOM2级事件为例,第二个参数是一个函数,咱们改成bind,看看之后的this是啥。 分别点击这两个元素后,结果如下图 可以看到,初次用bind改变this后,原始DOM2级的事件里获取的this已经不指向调用者的DOM了,这也和我在github记录的一致。 阅读全文
摘要:
一个选择是用CSS3的多列columns,可以参考这篇文章。但这篇文章给的例子并不怎么好理解,我做了一些更改,在每个元素上加了序号。可以看到,多列布局是在每一列上依次排列元素的,第一列排完才开始排第二列,因为这里规定了4列,会尽量把元素数量均分到每一列。 另外一种方式是使用flex,可以参考这篇文章 阅读全文
摘要:
先看一段代码,猜猜输出结果 无论stopPropagation函数里是否反注释return,结果顺序都是1 2 3 4。为什么会这样,与捕获和冒泡的关系呢?先说结论,直接点击同一个DOM,是处于目标阶段了,和捕获与冒泡无关了。可以看看这篇文章 你真的理解事件冒泡和事件捕获吗? 后面有三个问题,尤其是 阅读全文