dasu's blog

I am dasu, and i'm coding


  • 首页

  • gitbook

  • 分类

  • 归档

  • 搜索

模拟实现 Promise(小白版)

发表于 2019-12-15 | 分类于 面试题 , 前端
| 字数统计: 6.2k | 阅读时长 ≈ 25 min
模拟实现 Promise(小白版)本篇来讲讲如何模拟实现一个 Promise 的基本功能,网上这类文章已经很多,本篇笔墨会比较多,因为想用自己的理解,用白话文来讲讲 Promise 的基本规范,参考了这篇:【翻译】Promises/A+规范 但说实话,太多的专业术语,以及基本按照标准规范格式翻译而来,有些内容,如果不是对规范的阅读方式比较熟悉的话,那是很难理解这句话的内容的 我就是属于没直接阅读过 ...
阅读全文 »

shell 基本语法

发表于 2019-11-23 | 分类于 shell脚本
| 字数统计: 5k | 阅读时长 ≈ 19 min
shell 基本语法jenkins 上构建项目时,经常需要借助 shell 脚本,最近也经常跟服务器打交道,顺便记录些常用命令,方便查阅 语法-变量123456# 定义变量name='dasu'# 使用变量echo $name # dasuecho "I am ${name}." # I am dasu. xxx='dasu'用 key=value 形 ...
阅读全文 »

shell 常用命令

发表于 2019-11-23 | 分类于 shell脚本
| 字数统计: 2.8k | 阅读时长 ≈ 10 min
shell 常用命令expectexpect 命令是用来实现自动化交互通信的,比如当你在脚本中通过某些命令登录、连接、上传、下载等和远程服务器的交互时,可能需要让你输入一些账号、密码等信息 如果这个过程是人工手动在终端执行的,那没啥问题,需要交互时,你手动输入即可 但如果这个过程是交由脚本来自动执行的,难不成每次脚本执行时,还需要你在旁边等着来输密码吗? 所以,就可以借助 expect 来实现这个 ...
阅读全文 »

node-sass 安装的填坑记录

发表于 2019-11-16 | 分类于 埋坑记录
| 字数统计: 1.6k | 阅读时长 ≈ 6 min
node-sass 埋坑记录背景原有项目、环境: node:v8.16.2 npm:v6.4.1 node-sass::v4.8.0 Angular-CLI:v6.x 本机没有安装 Visual Studio 以上是涉及到的工具的版本,可正常使用,项目运行良好。 后来,接手的新项目中: Angular-CLI:v8.x 由于升级了 Angular 版本,同样也升级了 Angular-CLI 版本, ...
阅读全文 »

记 Maven 本地仓库埋坑之依赖包不能用

发表于 2019-11-09 | 分类于 埋坑记录
| 字数统计: 1.6k | 阅读时长 ≈ 5 min
记一次 Maven 本地仓库埋坑之 Verifying Availability背景某 Java 后端项目使用 maven 构建,因为某些原因,某些依赖库下载不了,直接找其它人索要了他电脑上的 maven 本地仓库里的依赖包。 然后直接拷贝到我电脑的本地 maven 仓库里,但构建项目时,发现,仍旧报找不到依赖包也下载不了的错误,导致项目构建不起来。 异常信息以上是背景,下面是构建过程出现的一些异 ...
阅读全文 »

扩展 Object.assign 实现深拷贝

发表于 2019-10-30 | 分类于 面试题 , 前端
| 字数统计: 2.4k | 阅读时长 ≈ 10 min
扩展 Object.assign 实现深拷贝 本文参考: Object.assign 原理及其实现 需求场景上一篇文章:手写实现深拷贝中,我们讲了浅拷贝和深拷贝,也实现了深拷贝方案。 但深拷贝,它是基于一个原对象,完完整整拷贝一份新对象出来,假如我们的需求是要将原对象上的属性完完整整拷贝到另外一个已存在的对象上,这时候深拷贝就有点无能为力了。 就有点类似于 Object.assign() ...
阅读全文 »

手写实现深度拷贝

发表于 2019-10-29 | 分类于 面试题 , 前端
| 字数统计: 4.9k | 阅读时长 ≈ 19 min
手写实现深度拷贝 本文参考:面试题之如何实现一个深拷贝 基础理论拷贝的基础是赋值,在 js 中,将一个变量赋值给另一个变量时,有两种场景: 基本类型数据的值拷贝 引用类型数据的引用拷贝 1234567891011121314var a = 1;var b = {a: 1};var a1 = a;var b1 = b;var b2 = b;a1 = 2;a; // 1 ...
阅读全文 »

手写防抖函数 debounce 和节流函数 throttle

发表于 2019-10-28 | 分类于 面试题 , 前端
| 字数统计: 3.5k | 阅读时长 ≈ 13 min
手写防抖函数 debounce 和节流函数 throttle 本文参考: 深入浅出节流函数 throttle 深入浅出防抖函数 debounce 基础理论最近看到这么一道面试题:手写实现 debounce 和 throttle。 一脸懵逼,真的是。这两个英文单词都是什么鬼(原谅我英文词汇量太烂),后来看了下,原来是防抖和节流的意思啊。 那么,防抖和节流又是什么东西? 这两个东西,其实都是用 ...
阅读全文 »

模拟实现 bind

发表于 2019-10-24 | 分类于 面试题 , 前端
| 字数统计: 1.8k | 阅读时长 ≈ 6 min
模拟实现 bind 本文参考:深度解析bind原理、使用场景及模拟实现 基础老样子,得先知道 bind 的用途、用法,才能来考虑如何去模拟实现它。 bind 的用途跟 call 和 apply 可以说是基本一样的,都是用来修改函数内部的上下文 this 的指向,但有一个很大的区别,call 和 apply 在修改了函数内部 this 指向的同时,还会触发函数的调用执行。 而对于 bi ...
阅读全文 »

模拟实现 call 和 apply

发表于 2019-10-23 | 分类于 面试题 , 前端
| 字数统计: 1.6k | 阅读时长 ≈ 6 min
模拟实现 call 和 apply 本文参考:深度解析 call 和 apply 原理、使用场景及实现 基础首先来认识一下 call 和 apply,它们都是 Function.prototype 上的方法,也就是说,所有函数都拥有的方法。 作用都是用来显示绑定函数内部的上下文 this 的指向,区别仅在于两者对参数的处理不同,一个接收参数列表,一个接收参数数组。列出 MDN 的地址: Fun ...
阅读全文 »
123…12
请叫我大苏

请叫我大苏

微信公众号:请叫我dasu
若图片显示异常,可到其他平台阅读

113 日志
20 分类
GitHub E-Mail
其他平台
  • 简书
  • 博客园
  • 个人网站
© 2019 — 2020 请叫我大苏
闽ICP备19024580号-1 |
博客全站共 412.1k 字
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4