- 博客(8)
- 收藏
- 关注

翻译 动态规划图解
动态规划图解(译)前言斐波那契数(Fibonacci Number)使用记忆来避免重复计算子问题自底向上法房屋盗窃问题[^7]分解成子问题定义递归关系自底向上实现前言我曾经要帮一个朋友理解dynamic programming(动态规划,简称DP),所以会留心一些好的资源。我发现网上到处都是,但很多集中在对代码的讨论上,不能生动地阐明DP的工作原理。斐波那契数(Fibonacci Numbe...
2019-04-27 18:57:59
4614
1
原创 React中的高阶组件
React中的高阶组件创建方式:创建一个容器组件并把源组件作为参数传入,给容器组件增加一点通用功能后在容器组件中使用源组件本质是减少代码重复,缺点是给阅读者增加了一点复杂性高阶组件很容易让人联想到高阶函数的概念,一个是以组件作为参数返回组件,一个是以函数作为参数返回函数高阶组件的实现不像是装饰器模式,因为装饰器会修改源组件高阶组件的实现是一种工厂模式,依据不同的参数返回不同的组件由于...
2019-04-14 22:50:02
239
原创 《重学前端》笔记03——使用语义标签的意义
使用语义标签的意义作者认为在大部分情况下可以用div+span走天下对开发者友好有利于搜索引擎检索(SEO)列举一些比较特别的语义标签ruby ,注音或者注解em,表示重音hgroup,hgroup中的h1-h6会被组合成一个标题section,section中的h1-h6标签会自动降级“阅读模式”中,表达整体结构的语义标签header,导航或者介绍性的内容asid...
2019-04-14 21:57:48
235
原创 JS中的原型与函数
函数函数是一个对象,可以执行的对象所有的函数都是一个叫"Function"的函数“构造”的,或者用一种更精确的说法:所有函数对象的原型链上都关联着一个叫"Function"的函数对象function AnyFunction() {}console.log(AnyFunction.__proto__.constructor.name === "Function")...
2019-04-08 18:18:33
720
原创 JS中的instanceof运算符
function AnyFunction() {}// 新建一个空对象var o1 = {};// 令原型指向空对象o1.__proto__ = {}console.log(o1 instanceof AnyFunction)// 令原型指向函数原型o1.__proto__ = AnyFunction.prototype;console.log(o1 instanceof AnyF...
2019-04-08 16:08:25
171
原创 JS中的constructor
JS中的class和constructorclassconstructorclassJS中没有真正的面向类型编程,不直接支持继承,多态等特性。“类式编程”是通过原型链模仿出来的。constructorJS中的constructor是对象原型链上的一个属性,通常表示生成这个对象的函数。new Person() 执行过程:新建一个空对象o1执行Person.apply(o1),...
2019-04-08 15:13:54
1553
原创 JS中的模块化
js中的模块化同步加载异步加载异步加载方案通过XMLHttpRequest 加载脚本通过WebWorkers加载脚本通过document.write()加载脚本通过head.appendChild()加载脚本如何解决异步加载导致有依赖的代码无法执行的问题?函数封装CommonJsAMDRequireJS同步加载在浏览器端可能造成阻塞异步加载有依赖的代码无法正常执行异步加载方案...
2019-03-30 14:19:44
412
原创 立即执行函数的本质及其与闭包的关系
立即执行函数的本质及其与闭包的关系console.log('执行 f1')function f1() { var arr = []; // 这里是匿名函数的闭包,匿名函数执行时在这里找i这个变量 var i = 0 for (; i < 5; i++) { // 这里是匿名函数的闭包,匿名函数执行时在这里找i这个变量 arr[i] = function (...
2019-03-28 18:56:34
761
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人