01 2021 档案
摘要:Element对象 Element是一个通用性非常强的基类,所有Document对象下的对象都继承自它,这个对象描述了所有相同种类的元素所普遍具有的方法和属性,一些接口继承自Element并且增加了一些额外功能的接口描述了具体的行为,例如HTMLElement接口是所有HTML元素的基本接口,而SV
阅读全文
摘要:React中组件间通信的方式 React中组件间通信包括父子组件、兄弟组件、隔代组件、非嵌套组件之间通信。 Props props适用于父子组件的通信,props以单向数据流的形式可以很好的完成父子组件的通信,所谓单向数据流,就是数据只能通过props由父组件流向子组件,而子组件并不能通过修改pro
阅读全文
摘要:CSS实现展开动画 展开收起效果是比较常见的一种交互方式,通常的做法是控制display属性值在none和其它值之间切换,虽说功能可以实现,但是效果略显生硬,所以会有这样的需求——希望元素展开收起能具有平滑的效果。 实现 max-height 首先想到的是通过height在0与auto之间切换,但是
阅读全文
摘要:Vue中组件间通信的方式 Vue中组件间通信包括父子组件、兄弟组件、跨级组件、非嵌套组件之间通信。 props $emit props $emit适用于父子组件的通信,这种组件通信的方式是我们运用的非常多的一种,props以单向数据流的形式可以很好的完成父子组件的通信,所谓单向数据流,就是数据只能通
阅读全文
摘要:DOM和BOM的区别 在浏览器中运行的JavaScript可以认为由三部分组成:ECMAScript描述了该语言的语法和基本对象,DOM文档对象模型描述了处理网页内容的方法和接口,BOM浏览器对象模型描述了与浏览器进行交互的方法和接口。 DOM DOM是Document Object Model的缩
阅读全文
摘要:Navigator对象 Navigator对象表示用户代理的状态和标识,其允许脚本查询它和注册自己进行一些活动,可以使用只读的window.navigator属性取得实例化的navigator对象的引用。 属性 navigator.connection: 只读,提供一个Network Informa
阅读全文
摘要:expr命令 expr命令计算给定表达式并显示其相应的输出,其被使用用于:基本操作像加法、减法、乘法、除法和模等等整数,求值正则表达式,字符串操作,如子字符串,字符串长度等。 语法 expr [EXPRESSION | OPTION] 参数 --help: 输出帮助信息。 --version: 输出
阅读全文
摘要:ReactRouter的实现 ReactRouter是React的核心组件,主要是作为React的路由管理器,保持UI与URL同步,其拥有简单的API与强大的功能例如代码缓冲加载、动态路由匹配、以及建立正确的位置过渡处理等。 描述 React Router是建立在history对象之上的,简而言之一
阅读全文
摘要:History对象 History对象允许操作浏览器的曾经在标签页或者框架里访问的会话历史记录。 属性 history.length: 只读,返回一个整数,该整数表示会话历史中元素的数目,包括当前加载的页,例如在一个新的选项卡加载的一个页面中,这个属性返回1。 history.scrollResto
阅读全文
摘要:实现消息提示组件 在浏览器页面中,通用的消息提示组件一般可以分为静态局部提示和动态全局提示,用于反馈用户需要关注的信息,使用频率较高。 实现 实现消息提示组件,动态全局提示,主要使用原生JavaScript实现,实现的代码基本都作了注释。 <!DOCTYPE html> <html> <head>
阅读全文
摘要:实现文字滚动播放 实现文字滚动播放,通过使用CSS3动画与Js控制来实现,由于使用CSS动画来控制偏移限制较多,因此通常还是使用Js来实现。 实现 CSS Animation 使用CSS动画方法,使用position: relative配合left属性来控制文字元素距离左侧相对偏移的距离。此方法的主
阅读全文
摘要:React中的合成事件 React自己实现了一套高效的事件注册、存储、分发和重用逻辑,在DOM事件体系基础上做了很大改进,减少了内存消耗,简化了事件逻辑,并最大程度地解决了IE等浏览器的不兼容问题。 描述 React的合成事件SyntheticEvent实际上就是React自己在内部实现的一套事件处
阅读全文
摘要:Node对象 Node是一个接口,各种类型的DOM API对象会从这个接口继承,其允许我们使用相似的方式对待这些不同类型的对象。 属性 Node.prototype.baseURI: 只读,返回一个表示base URL的DOMString,不同语言中的base URL的概念都不一样,在HTML中ba
阅读全文
摘要:React中refs的理解 Refs提供了一种方式,允许我们访问DOM节点或在render方法中创建的React元素。 描述 在典型的React数据流中,props是父组件与子组件交互的唯一方式,要修改一个子组件,你需要使用新的props来重新渲染它,但是在某些情况下,你需要在典型数据流之外强制修改
阅读全文
摘要:Js实用小技巧 这是一份Js实用小技巧,也可以是一份Js挨打小技巧,下面的一系列操作虽然能够在一定程度上使代码更加简洁,但是在缺少注释的情况下会降低可读性,所以需要谨慎使用这些黑魔法。 位元算 取整 console.log(~~(11.11)); // 11 console.log(11.11 >>
阅读全文
摘要:函数式编程的理解 函数式编程是一种编程范式,可以理解为是利用函数把运算过程封装起来,通过组合各种函数来计算结果。函数式编程与命令式编程最大的不同其实在于,函数式编程关心数据的映射,命令式编程关心解决问题的步骤。 描述 到近些年,函数式以其优雅,简单的特点开始重新风靡整个编程界,主流语言在设计的时候无
阅读全文
摘要:React中的高阶组件 高阶组件HOC即Higher Order Component是React中用于复用组件逻辑的一种高级技巧,HOC自身不是React API的一部分,它是一种基于React的组合特性而形成的设计模式。 描述 高阶组件从名字上就透漏出高级的气息,实际上这个概念应该是源自于Java
阅读全文
摘要:浏览器本地存储方案 浏览器本地存储方案可以分为三个方面,分别为Cookie、Web Storage、IndexedDB。 Cookie 由于HTTP协议是无状态的,一旦数据交换完毕,此次链接就会关闭,再次交换数据就需要重新连接,意味着服务器无法从链接上跟踪会话。假如A与B同时购买了一件商品,不进行会
阅读全文
摘要:React中的纯组件 React提供了一种基于浅比较模式来确定是否应该重新渲染组件的类React.PureComponent,通常只需要继承React.PureComponent就可以定义一个纯组件。React.PureComponent与React.Component很相似,两者的区别在于Reac
阅读全文
摘要:Widget模式 Widget模式是指借用Web Widget思想将页面分解成组件,针对部件开发,最终组合成完整的页面,Web Widget指的是一块可以在任意页面中执行的代码块,Widget模式不属于一般定义的23种设计模式的范畴,而通常将其看作广义上的架构型设计模式。 描述 模块化开发使页面的功
阅读全文
摘要:异步模块模式 异步模块模式AMD是当请求发出后,继续其他业务逻辑,直到模块加载完成执行后续逻辑,实现模块开发中的对模块加载完成后的引用,大名鼎鼎的require.js就是以它为思想的,异步模块模式不属于一般定义的23种设计模式的范畴,而通常将其看作广义上的架构型设计模式。 描述 异步模块模式主要是用
阅读全文
摘要:汇总区间 给定一个无重复元素的有序整数数组nums。 返回恰好覆盖数组中所有数字的最小有序区间范围列表。也就是说,nums的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于nums的数字x。 列表中的每个区间范围[a,b]应该按如下格式输出: "a->b",如果a != b。 "a
阅读全文
摘要:受控组件和非受控组件 React的受控组件与非受控组件的概念是相对于表单而言的,在React中表单元素通常会持有一下内部的state,因此它的工作方式与其他HTML元素不一样,而获取表单元素内部state的实现方式的不同,就产生了受控组件和非受控组件。 受控组件 在HTML的表单元素中,它们通常自己
阅读全文
摘要:同步模块模式 同步模块模式SMD是请求发出后,无论模块是否存在,立即执行后续的逻辑,实现模块开发中对模块的立即引用,模块化是将复杂的系统分解为高内聚、低耦合模块,同步模块模式不属于一般定义的23种设计模式的范畴,而通常将其看作广义上的架构型设计模式。 描述 同步模块模式通常用来解决如下场景的问题,随
阅读全文
摘要:tr命令 tr命令用于转换或删除文件中的字符,可以读文件也可以从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备。 语法 tr [OPTION]... SET1 [SET2] 参数 -c, -C, --complement: 使用SET1的补码。 -d, --delete: 删除SE
阅读全文
摘要:sort命令 sort命令用于将文本文件内容加以排序,可针对文本文件的内容,以行为单位来排序。 语法 sort [OPTION]... [FILE]... sort [OPTION]... --files0-from=F 参数 -b, --ignore-leading-blanks: 忽略前导空格。
阅读全文
摘要:sed命令 sed命令是利用脚本来处理文本文件,可依照脚本的指令来处理、编辑文本文件,主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。 语法 sed [OPTION]... {script-only-if-no-other-script} [input-file]... 参数
阅读全文
摘要:pico命令 pico是一个简单易用、以显示导向为主的文字编辑程序,具有pine电子邮件编写器的风格。在现代Linux系统上,nano即pico的GNU版本是默认安装的,在使用上和pico一模一样。 语法 nano [OPTIONS] [[+LINE[,COLUMN]] FILE]... 参数 +L
阅读全文
摘要:有状态和无状态组件 组件是自我维持的、独立的微实体,其描述了UI的一部分,可以将应用程序的UI拆分为较小的组件,其中每个组件都有自己的代码、结构和API,简单来说组件允许你将UI拆分为独立可复用的代码片段,并对每个片段进行独立构思。 描述 React中的组件按状态主要分为无状态组件和有状态组件两类,
阅读全文
摘要:滑动窗口最大值 给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。 示例 输入:nums = [1,3,-1,-3,5,3,6,7], k = 3 输出:[3,3,5,5,6,
阅读全文
摘要:种花问题 假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 给定一个花坛(表示为一个数组包含0和1,其中0表示没种植花,1表示种植了花),和一个数n 。能否在不打破种植规则的情况下种入n朵花?能则返回True,不能则返回Fa
阅读全文