Javascript中的window对象
window对象的两个作用:表示浏览器的一个实例ECMAscript中的Global对象 直接定义Global变量与在window上定义Global变量的区别是:直接定义的Global变量的[[configurable]]特性为fa
ES6: 迭代器与生成器
什么是迭代器?迭代器是一个对象,它拥有一个next方法,调用next方法会返回一个对象,该对象有两个属性值,value和done。每次调用next方法,返回的value表示可迭代对象中的下一个值,done表示迭代是否完成。根据此定义,可用下
单链表反转
实现单链表反转的思路实现单链表反转的难点在于,如果让当前节点的next指向前驱节点,那么链表就断了,所以解决的办法就是在进行反转操作之前用一个临时指针变量保存后继节点的地址。单链表反转的代码实现代码语言:javascript代码运行次数:0
冒泡排序、插入法排序及选择排序
冒泡排序、插入法排序以及选择排序是排序算法中比较基础的三种,其平均时间复杂度都是O(n^2)。原理介绍冒泡排序冒泡排序的步骤是:比较相邻两个数,看是否满足大小关系,如果不满足则交换这两个数,使他们满足大小关系,这样可以保证最大(最小)的数始
用单链表实现LRU缓存置换算法
缓存置换算法所解决的问题在存储系统的金字塔结构中,缓存的存取速度比内存快,然而成本比内存高,所以缓存的容量有限。缓存置换算法所要解决的问题便是在容量有限的缓存中,存放哪些数据可以提升缓存命中率。LRU缓存置换算法的核心思想LRU算法认为
ES6: Set 与 Map
Setlet my_set = new Set();let my_set = new Set([1, 1, 2, 2]);my_set.add(5);my_set.delete(5);my_set.has(5);my
ES6: 符号类型
引入原因:实现私有属性let s = Symbol()let obj = {[s]: ‘hello world’};console.log(obj.s); undefined符号值唯一let s = Symbol()let m
ES6: 对象扩展
初始化简写: function createPerson(name, age) { return { name: name, age: age }; } ---> function createPerson(name, age)
ES6: 对象和数组解构
所谓解构,指的是将数据结构分解为更小的部分,从而使数据提取变得容易。 对象解构:使用解构时,必须提供初始化值 let Person = { name: 'sen', age: 18 } let {na
ES6: 函数扩展
带默认值参数的函数:var get_name = function(url, id=1, callback){};如果传入了第二个参数,将不会使用默认值如果给第二个参数赋值为undefined,会使用默认值带有默认值的参数后,a
Feature flags 概要
Feature flags可以让软件开发更加的安全、迭代更加迅速,而且可以更加灵活的控制软件产品。Feature flags将功能迭代从代码部署中分离出来,从而可以使产品团队(开发团队、管理团队、SRE等)在版本控制之外更加精细地控制谁、什
Go环境变量及常用命令
环境变量GOROOT: Go语言的安装路径GOPATH: Go语言工作区路径,默认为~go。项目中执行go install命令后,项目构建后生成的可执行程序、静态库文件以及源码文件会被安装到GOPATH相应的目录中去GOBIN: 存放Go
React hooks 概要
React 基础知识回顾React(响应)的设计理念是,当数据发生变化时,UI能自动把变化反映出来。它的诞生颠覆了传统的web UI开发模式,它把UI的开发从复杂的DOM操作中解脱出来,让开发者专注于数据、逻辑和UI组件本身。组件 (com
云原生概要
什么是云原生设计目的云原生软件的设计目的是预测故障,并且即使当它所依赖的基础设施出现故障,或者发生其他变化时,它也依然能够保持稳定运行。将变化或者失败视为正常规律,让面向失败的设计成为它们构建、交付和管理软件过程中的一个组成部分。云计算时代
获取隐藏元素的宽度
问题描述如果DOM元素的fu’yu是被隐藏的(display: none),那么无论使用DOM的接口,还是jquery的接口来获取该元素的宽度,得到的结果始终是0. 例如:代码语言:javascript代码运行次数:0运行复制<div
ES6: 模块编程
Javascript模块的限制只能运行于严格模式模块中的顶级作用域中的变量,不会被自动添加到全局作用域顶级作用域的this为undefined导出如果想让模块中的变量、函数、类被其他模块使用,需要将其导出,导出的方法如下:e
ES6:数组
新增的静态方法Array.of() :可以将传入的参数逐个传入数组,即使只有一个数值类型的参数,也会成为新数组的成员,而不是代表数组的长度 Array.from():可以将类数组结构转化为数组,例如: Array.from(argument
Docker笔记
存储卷(Volumes)匿名卷:可以在Dockerfile中使用VOLUME [ "path" ]创建匿名卷,也可以在启动容器的时候用-v path来创建。匿名卷在container被删掉之后会被自动删除。命名卷:可
Go语言的过程式编程
Go语言中常用的内置函数函数用法append(s, …)将s后面的所有参数追加到切片s中,如果容量不够,则新建一个切片cap(x)返回切片或者通道的容量,数组的长度len(x)返回切片、数组或者通道的长度close(ch)关闭通道,即不可以
Go语言中的集合类型
指针Go语言中只有值传递。切片、映射、通道、函数等引用类型也是值传递,只不过它们的值是指针,所以对形参的改变也会反映到实参本身。指针是指保存了另一个变量内存地址的变量。通过指针可以让参数传递的成本最低且内容可修改,而且可以让变量的生命周期独