基础
文章平均质量分 54
你才不是没有故事的女同学
这个作者很懒,什么都没留下…
展开
-
输入url后发生了什么
先来个大概: dns查询,查询到url对应的IP 建立tcp链接,三次握手 http发起请求 关闭tco链接,四次挥手 客户端获取到数据进行解析 获取html构建DOM树,css获取CSSOM输,经过attachment合成Render渲染树,显示到页面上 下面对以上几点进行展开,看看具体都发生了什么,细节都有些什么 dns查询 未完待续。。。 ...原创 2021-03-25 23:55:00 · 65 阅读 · 0 评论 -
git操作记录
第一周周一 创建 新建文件夹 mkdir 文件名 新建文件 touch fileName (我在vscode无法使用) 查看当前路径 pwd 将当前目录变成一个git可以管理的仓库(初始化仓库) git init 将文件添加到git仓库(暂存区) git add readme1.txt readme2.txt //一次可以提交多个 将文件提交到当前支 git commit -m "文件名" 版本 版本回退 查看当前工作区与缓存区状态 git status 对比文件区别 git diff re原创 2021-03-23 23:58:04 · 86 阅读 · 0 评论 -
说说你了解的设计模式
单例模式: **好处:**减少全局变量,全局对象被污染问题 实现: 懒汉式 let ShopCar = (function () { let instance; function init() { /*这里定义单例代码*/ return { buy(good) { this.goods.push(good); }, goods: [], }; } return { getInstance: functio原创 2021-03-21 23:45:19 · 238 阅读 · 0 评论 -
手写promise
今天先实现了简洁版的promise class Promise1 { static PENDING = "Pending" static FULFILLED = "Fulfilled" static REJECTED = "Rejected" constructor(executor) { this.initValue() this.initBind() try { executor(this原创 2021-03-18 00:06:26 · 62 阅读 · 0 评论 -
说说你对闭包的理解
要理解闭包,首先得先知道js的作用域和词法作用域 作用域 作用域就是用于确定变量在何处以及如何查找变量的规则 作用域就是查找变量的地方 作用域链:从下往上找,从该函数作用域中,一直往上面的作用域中找,如果找到了就停止寻找并返回,直到全局作用域中。 JavaScript也是有编译过程的 console.log(name); // 输出undefined var name = 'iceman'; 编译的时候在作用域中声明了一个name属性 运行的时候给这个name赋值 js在预编译后执行代码时就会进原创 2021-03-16 23:55:52 · 167 阅读 · 0 评论 -
手写bind函数
// 实现bind Function.prototype._bind = function (newThis, ...bRet) { // 原来函数的this,这里是fn let oldThis = this return function (...rRet) { return oldThis.apply(newThis, [...bRet, ...rRet]) } } function fn() { console.log(this) // fn console.log(a原创 2021-03-15 21:00:34 · 83 阅读 · 0 评论 -
说说你对js的继承的了解
说说你对js的继承的了解 什么是继承 js中,继承是一种允许我们在已有类的基础上创建新类的机制;它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展 为什么要有继承 提高代码的重用性、较少代码的冗余 继承的相关实现 想要实现继承,就得有个被继承的父类 // 最上层函数 function Animal(name) { this.name = name || 'Animal' this.eat = function (food) { console.log(`${thi原创 2021-03-09 21:44:13 · 191 阅读 · 0 评论