Aaron Nan

Results 102 issues of Aaron Nan

React 16.3 是比较重大的一次版本更新,涉及 `新的lifecycle methods`,`全新的Context Api`,`Ref Api`等 > [详见官方文档](https://reactjs.org/blog/2018/03/29/react-v-16-3.html) 首先吸引到我的当然是生命周期的改变,就来简单谈一下,后面会写详细的帖子关于修改生命周期的原因 # The New Lifecycle 涉及改变的三个 Lifecycle func: 1. `componentWillMount` 2. `componentWillUpdate` 3. `componentWillReceiveProps` 在17.0版本之前,16.3版本开始,这三个 methods 将带有 UNSAFE_ 的前綴来标识,目的当然是为了让我们逐步的去修改项目中有关于这些Lifecycle func的代码,那 React...

React

# 从JS是一门编译型语言说起 # Understanding JS Scope `JS is a compiled language` JavaScript是一门编译型语言。尽管它的编译过程和传统意义的编译型语言有区别,编译的结果也不具备移植性,但JavaScript仍旧是一门编译型语言。 这也就意味着,**JavaScript代码在执行前,要经历三个主要的阶段**,分别是: `分词 Tokenizing ——> 解析 Parse ——> 指令生成 Code-Generation` ## 3 roles in JS execution 执行时的三条规则 **在JS代码执行的过程中,有三个主要的角色**: -...

You Don't Know JS

![img](https://cdn-images-1.medium.com/max/1600/1*dNtmhr-N1J1L__E2rEj5jg.png) # async/await 两面性 在工作中处理异步用到最多的还是Promise,没有经常用async/await是因为业务复杂度还不够。 不过对于这个 ES7 带来的新式的异步语法,还是值得说道说道。 # the good part 简洁!async/await 给我们带来的最重要的好处是同步编程风格,也只是风格而已,它是Promise的语法糖。 **任何async函数都会隐式返回一个promise,而promise的解析值将是return的值** 意味着: 1. Returning a non-Promise value fulfills p with that value. 2. Returning a Promise...

## 一切从简 # 原型链 核心概念就是 利用原型让一个引用类型继承另一个引用类型的属性和方法 上图 ![img](https://nanyang24.github.io/practice/img/prototype/prototype1.png) ```js function Person(nick, age){ this.nick = nick; this.age = age; } Person.prototype.sayName = function(){ console.log(this.nick); } var p1 = new Person(); p1.sayName();...

JavaScript
point

> 一直对函数式编程抱有很强的好奇心,也奇怪为什么没有契机去初探下,刚好参加了首届中国 `React Dev Conf`,会上很多主题或多或少与函数式编程有关,其中 `工业聚` 有关 FP 主题分享,让我对 FP 有关概念以及实践有了很大兴趣。 > 本文持续更新,主要是我逐渐理解函数式这个编程思想、实践的历程,所以所有内容不保证对错。只是自我实现路径上的一小点。 > 另外因为目前从事前端方面的工作,目标语言是 `JS` ,如果真的想深入 FP,建议还是要看 `Haskell` # What is the Functional Programming ? **函数式编程**其实是一种编程思想,同时常见的还有**命令式编程(Imperative programming)**。 FP 强调使用...

总结完善中

React

> 记录一些CSS-trick ## 目录: 1. CSS实现锯齿 # 1. CSS 实现 锯齿 > 诞生原因:设计忘记给图了……我也懒得要,由此而来。 ![image](https://user-images.githubusercontent.com/17287124/44156489-8f09e244-a0e2-11e8-966d-8214e27fe6e4.png) ## `` ### 是一种CSS数据类型的子类型,用于表现两种或多种颜色的过渡转变。 ## 渐变函数 1. 线形渐变 - `linear-gradient()` 2. 径向渐变 - `radial-gradient()` 3. 重复渐变...

# 玄学的原型链 > 原型链基础请参阅: #36 ![img](https://camo.githubusercontent.com/71cab2efcf6fb8401a2f0ef49443dd94bffc1373/68747470733a2f2f757365722d676f6c642d63646e2e786974752e696f2f323031382f332f31332f313632316538613962636230383732643f773d34383826683d35393026663d706e6726733d313531373232) # `Object.__proto__ === Function.prototype` 看完上面一个很常见的 原型链 图示,看下面的例子: ```js let obj = {}; obj.__proto__ === Object.prototype; // return true ``` OK,结果显而易见是没有问题的;声明一个对象,对象的隐式原型 [[Prototype]](内部属性,我们并不能访问到,所以使用 `__proto__` 来访问)与它的构造函数的原型连接起来。 那么看下个例子:...