Wml Blog

前端攻城狮呀

[今日算法] 经典的数据结构实现(js版)

1、斐波那契数 又称“黄金分割数列”,从第三项开始,每一项等于前两项的和,自然界中如向日葵花瓣就是斐波那契数列。 // 0 1 1 2 3 5 8 ... 求第n项的数 // 递归实现,时间复杂度O(2^n) function fibonacci(n) { if(n < 2) return n; return fibonacci(n-1) + fibonacci(n-2);...

[今日算法] js版的九种排序算法

1、冒泡排序: 时间复杂度:O(n^2),空间复杂度O(1) function bubleSort(nums) { let len = nums.length; for(let i = 0; i < len; i++) { for(j = 0; j < len-i-1; j++) { if(nums[j] > nums[j+1]) ...

团队开发时应该要遵守的git提交规范

背景 实际开发中,项目往往是多人开发的情况更多;在翻看提交内容查找关键信息过程中,毫无重点的提交信息大家看着有多心累就不用多说了吧;所以遵守一个公共且易懂的提交规范对于开发工作中追本溯源是非常重要的辅助方法。现在比较受大众认可的是约定式提交规范,它是受Angular提交准则启发,是一种轻量级的约定,简单易上手;以下就是简要描述记录下该规范内容: git commit 建议格式 comm...

【学习笔记】ECMAScript2020 新特性

ECMAScript 2020(ES11)新特性,不是所有特性都被现代浏览器支持,故还是需要加入Babel进行编译;新特性兼容性 Optional Chaining 可选链式调用 场景:某些情况下知道值会存在,直接引用会报错,使用可选链式操作符即可避免该错误,使用一个问号和一个点组成 用处: 可用于接口数据返回时判断; // object let a = {}; console.lo...

【读书笔记】设计模式与继承

对象属性 属性类型: 数据属性和访问器属性; 对象的数据属性有四种特性: configurable: 表示能否通过delete删除属性从而重新定义属性(不可删),默认true(设置为false后不能设置回来) enumberable: 表示能否通过for-in循环返回属性, 是否可枚举(不可读),默认true writable: 表示能否修改属性的值(不可写),默认true va...

[今日算法] 两数相加

题目描述 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 1: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输...

dns-prefetch

背景 在翻阅大厂网站源码的时候,发现head头部有一堆如下图的标签,dns-prefetch作用是什么?使用场景又有哪些?带着这些问题进一步学习。 概念 dns-prefetch,看名字大概能猜出其作用,dns,域名解析服务,perfetch,预取,所以这个的作用大致就是和域名提前解析有关。 官方的解释是:DNS 预读取是一项使浏览器主动去执行域名解析的功能,其范围包括文档的所有...

meta使用整理

背景 关于meta标签,熟悉却又陌生,开发过程中这些配置很多都是由编辑器自动生成,导致容易忽略这些细节。网络上也有很多这种类似的文章,仅以此文总结和加深下印象。 概念 关于meta,官方文档的解释是:HTML语言头部的辅助性标签,提供有关页面的元数据(metadata,描述数据的数据)。 作用:用于指定网页的描述(description)、关键词(keyword)、作者(author...

搞定前端手写

1、手写call call()接受的是一个参数列表 let obj = {name: 'wml'}; function foo(age, sex) { return { name: this.name, age, sex } } Function.prototype.myCall = function() { const cxt = argument...

【读书笔记】图解HTTP

背景 最近在阅读学习《图解HTTP》这本书,仅以此做一些记录和个人理解。 TCP/IP协议族 互联网中相关联的协议总称TCP/IP协议族,层级分为: 应用层(如http,ftp,dns),传输层(如TCP,UDP),网络层(IP协议,数据包在网络上的流动),链路层(以太网,Wi-Fi等硬件部分) 各个协议之间的关系 HTTP协议,位于应用层,它是客户端与服务端之间请求和应答的一种方...