关注IMWeb前端社区公众号

  • 第一时间获得最新、最火的技术干货
  • 定期推送您所关注的专题文章
  • 和大牛们一起讨论前端技术
  • 获取IMWeb社区、前端相关的最新活动
热文 更多

  • react hook——你可能不是“我”所认识的useEffect

    据说,这个hook可以模拟class组件的三个生命周期 前言 官网已经介绍过,这里再啰嗦一次。 useEffect 是一个用来执行副作用hook,第一个参数传入一个函数,每一次render之后执行副作用和清除上一次副作用,该函数的返回值就是清除函数。第二个参数是一个数组,传入内部的执行副作用函数需要的依赖,当这几个依赖有一个要更新,effect里面也会重新生成一个新的副作用并执行副作用。如果没有更新,则不会执行。如果第二个参数不传,那么就是没有说明自己有没有依赖,那就是每次render该函数组件都执行。 很明显, useEffect 第一个参数可以模仿 didmount 、 didupdate ,它的返回值可以模仿 willunmount CLASS组件生命周期模拟 "模仿生命周期,useEffect第二个参数传个空数组,无依赖,只执行一次,相当于didmount。如果要区分生命周期,不传第二个参数,每次都会跑,相当于didupdate。加个mount标记一下,里面用if判断一下,即可以达到模拟生命周期的效果" 很多人都会想到这个办法模拟,于是我们试一下看看: let mount;

  • 再谈编程范式—程序语言背后的思想

    编程范式 托马斯.库尔提出“科学的革命”的范式论后,Robert Floyd在1979年图灵奖的颁奖演说中使用了编程范式一词。编程范式一般包括三个方面,以OOP为例: 1,学科的逻辑体系——规则范式:如 类/对象、继承、动态绑定、方法改写、对象替换等等机制。 2,心理认知因素——心理范式:按照面向对象编程之父Alan Kay的观点,“计算就是模拟”。OO范式极其重视隐喻(metaphor)的价值,通过拟人化,按照自然的方式模拟自然。 3,自然观/世界观——观念范式:强调程序的组织技术,视程序为松散耦合的对象/类的组合,以继承机制将类组织成一个层次结构,把程序运行视为相互服务的对象之间的对话。 简单来说, 编程范式是程序员看待程序应该具有的观点,代表了程序设计者认为程序应该如何被构建和执行的看法。 常见的编程范式有:命令式、过程式、说明式、面向对象、函数式、泛型编程等。 IMPERATIVE—命令式||过程式 * 冯诺依曼 机器语言、汇编语言 BASIC COBOL C Ada FORTRAN Fortran ,

  • 再谈javascriptjs原型与原型链及继承相关问题

    什么是原型语言 * 只有对象,没有类;对象继承对象,而不是类继承类。 * “原型对象”是核心概念。原型对象是新对象的模板,它将自身的属性共享给新对象。一个对象不但可以享有自己创建时和运行时定义的属性,而且可以享有原型对象的属性。 * 每一个对象都有自己的原型对象,所有对象构成一个树状的层级系统。root节点的顶层对象是一个语言原生的对象,只有它没有原型对象,其他所有对象都直接或间接继承它的属性。 原型语言创建有两个步骤 * 使用”原型对象”作为”模板”生成新对象 :这个步骤是必要的,这是每个对象出生的唯一方式。以原型为模板创建对象,这也是”原型”(prototype)的原意。 * 初始化内部属性 :这一步骤不是必要的。通俗点说,就是,对”复制品”不满意,我们可以”再加工”,使之获得不同于”模板”的”个性”。 所以在JavaScript的世界里,万物皆对象这个概念从一而终。 JS本地对象、内置对象、宿主对象 * 全局对象

  • 微信小程序之SelectorQuery

    在开发小程序展开全文组件时需要用到节点查询API - wx.createSelectorQuery() 来查询全文内容的高度。[http://imweb-io-1251594266.cos.ap-guangzhou.myqcloud.com/f5183c25044d59624caebc12ddce0737.png] * wx.createSelectorQuery() 返回一个 SelectorQuery 对象实例。 * SelectorQuery 有五个方法( in , select , selectAll , selectViewport , exec ),第一个返回 SelectorQuery ,后四个返回 NodesRef 。 * NodesRef 有四个方法( fields , boundingClientRect , scrollOffset , context ),第一个返回 NodesRef ,后三个返回 SelectorQuery 。 对照官方提供的示例代码来看

  • 浮点数精度问题透析:小数计算不准确+浮点数精度丢失根源

    在知乎上上看到如下问题: 浮点数精度问题的前世今生 [HTTPS://WWW.ZHIHU.COM/QUESTION/26806477] ? 1.该问题出现的原因 ? 2.为何其他编程语言,比如java中可能没有js那么明显 3.大家在项目中踩过浮点数精度的坑? 4.最后采用哪些方案规避这个问题的? 5.为何采用改方案? 例如在 chrome js console 中: alert(0.7+0.1); //输出0.7999999999999999 之前自己答的不是满意(对 陈嘉栋的回 [https://www.zhihu.com/question/26806477/answer/125001707] 答 还是满意的),想对这个问题做个深入浅出的总结

热问 更多