-
vscode+picgo+github搭建图床
安装插件 picgo 稳定,用到微软破产应该不是问题 不花钱,这点很赞 容量大,一个仓库的上限是100G,用作图床是够用了 用了cdn加速之后速度还是可以的 Markdown All in One github图床设置 创建一个新的代码仓库 权限必须是public 生成一个token 路径:settings - developer s...…
-
md文档编写
删除线 ~~ ~~ 分割线 — 或者 *** 字体颜色 libraryMarkType …
-
原型模式 VS new构造函数 VS 工厂模式
构造函数和工厂模式创建对象的区别 构造函数没有显式创建对象 构造函数属性方法赋值给了this 没有return原型模式和构造函数模式的区别 构造函数中直接赋值给对象实例的属性,可以直接赋值给它们的原型 解决了构造函数内定义的方法会在每个实例都创建一遍的问题 原型模式实际上就是在构造函数模式原型上添加所有实例的共享属性原型的弊端 弱化构造函数传递参数的能力 所有实例在原型上取得相同的属性值。更改属性值同步所有实例。…
-
执行上下文和作用域
执行上下文执行上下文可以理解为当前代码的执行环境,它会形成一个作用域。JavaScript中的运行环境大概包括三种情况:(1)全局环境:JavaScript代码运行起来会首先进入该环境(2)函数环境:当函数被调用时,会进入当前函数中执行代码(3)块级环境:当let、const声明变量时(4)eval(不建议使用,忽略)只要遇到以上三种情况,都会生成一个执行上下文,放入栈中。上文提到,JavaScript引擎会以栈的方式处理执行上下文,这个栈被称为调用栈(call stack)。栈是先入后出...…
-
内存和垃圾回收机制
内存JavaScript通过自动内存管理实现内存分配和闲置资源回收内存泄露 意外声明全局变量 定时器 闭包栈内存和堆内存的区别栈内存 栈内存用于存储基本数据类型的值,还有引用类型的指针 栈内存是线性有序存储。容量小,系统分配效率高 栈内存每个存储空间大小基本相同,存储值大小固定堆内存 堆内存用于存储引用类型值 堆内存存储值大小不固定,通过栈内存存储的指针访问 堆内存首先要在堆内存新分配存储区域,之后又要把指针存储到栈内存中,效率相对就要低一些。垃圾回收机制垃圾回收是周期性...…
-
script标签
script标签属性 async:异步执行脚本。立即下载脚本,但不阻塞其他页面动作,也无需等待其他脚本(不能按照页面顺序执行) defer:推迟脚本执行。脚本可延迟到文档被完全解析和显示之后加载(加载顺序原则上按照他们被列出的顺序) src;外部文件引用 type:默认text/javaScript,如果值为module,标识为es6模块,这时脚本内才可出现import、export关键字 integrity:对比接收到的资源和加密签名,可确保cnd不会提供恶意内容动态脚本执行l...…
-
常用的一些命令行
总结一些常用的命令。IOS 下载brew /bin/zsh -c “$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)”Windows 回到跟目录:cd\ 到上一层目录:cd.. 到其他硬盘(比如D):d: 查看当前目录下面所有的目录和文件: dir 查看当前目录下面所有的目录和文件,并且按顺序显示: dir /o 创建新目录: mkdir 或者 md folder host文件路...…
-
数据类型
js的数据类型有哪些js数据类型按照存储方式来区分的话,可分为基本数据类型和引用数据类型,基本数据类型 string、number、Boolean、null、undefined、symbol(ES6新增);引用数据类型实际上就是广义的object,有object、array、map、set等。我做了一张图如下:基本数据类型undefined undefined 类型只有一个特殊值:undefined。 当通过var、let 声明的变量没有赋初始值的时候,默认值为undefined。nu...…
-
this指向
this的绑定方式默认绑定要说清楚默认绑定,就要从js解释执行说起,我们都知道js在执行前,都会进行词法分析(将js语句分词,成计算机可识别的语言)、语法分析(查看语句是否有错误,有则抛出异常)、预编译(确认作用域和作用域链,变量提升、函数提升)、压入主执行栈(创建执行上下文,将this指向当前执行上下文)、代码执行所以说,默认绑定发在代码进入主执行栈,将this指向刚创建的执行上下文隐式绑定const a = 1function foo() { console.log(this.a)}...…
-
Map & Set
Map Map 对象保存键值对,并且能够记住键的原始插入顺序。任何值(对象或者原始值) 都可以作为一个键或一个值 Map是新的集合类型,给js带来了真正的键值存储机制 Map的键的值改变,依然可找到值,它俩内部的引用是无法修改的 创建Maplet map = new Map(IteratorObject) // 可传入可迭代对象Map有哪些属性1.size2.constructorMap方法 clear() 移除所有键值对 delete(key) 存在并删除成功...…