黄祚敏
码龄8年
关注
提问 私信
  • 博客:93,838
    93,838
    总访问量
  • 89
    原创
  • 1,895,718
    排名
  • 22
    粉丝
  • 0
    铁粉

个人简介:前端工程师一名。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖北省
  • 加入CSDN时间: 2017-04-05
博客简介:

github_38186390的博客

查看详细资料
个人成就
  • 获得28次点赞
  • 内容获得27次评论
  • 获得79次收藏
  • 代码片获得149次分享
创作历程
  • 1篇
    2023年
  • 1篇
    2022年
  • 8篇
    2021年
  • 5篇
    2020年
  • 13篇
    2019年
  • 13篇
    2018年
  • 10篇
    2017年
  • 38篇
    2016年
成就勋章
TA的专栏
  • 面试题
    7篇
  • 小程序
    1篇
  • git
    1篇
  • 可视化
    5篇
  • css
    6篇
  • js
    39篇
  • 打包
    1篇
  • es6
    3篇
  • java
    2篇
  • 函数
    5篇
  • 面向对象
  • HTML
    4篇
  • nodejs
    4篇
  • 操作系统
    5篇
  • 数据库
    5篇
  • API gateway
  • ruby
    2篇
  • JDK
    1篇
  • 框架
    1篇
  • 算法
    1篇
兴趣领域 设置
  • 前端
    javascriptcssvue.jswebpack前端框架
  • 微软技术
    typescript
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

js 面试题(3)

​一。柯里化柯里化(curry)的的概念很简单:只传递给函数一部分参数来调用它,让它返回一个函数去处理剩下的参数。具有通用性和高适用。常见作用:1、参数复用。2、提前返回。3、延迟计算/运行二。任务:同步任务和异步任务,异步任务分为宏任务和微任务​
原创
发布博客 2023.01.31 ·
431 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

vue 基础

一。vue 生命周期:总共10个。初始化只会执行(1 2 3 4)。beforeCreate:即初始化状态之前 created:初始化状态后(initState 执行完成)。 beforeMount:虚拟dom生成之前,在该周期内执行 render 函数,生成虚拟dom和挂载dom mounted:此时dom元素已加载完成,可以进行dom元素操作。(调用顺序先执行子元素的mount再执行父元素) beforeUpdate:更新之前 updateed:更新后 beforeDestroy:销毁前
原创
发布博客 2022.02.15 ·
459 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

opencv.js

opencv 图形入门。一。读取图片方法。在读取图片完成后请执行:let dst = new cv.Mat()。之后所有的操作数据都会在 dst 里面cv.matFromImageData(imgData):imgData: canvas 通过 getImageData 获取的数据。 cv.imread(imageSource) :imageSource可以是图片元素或canvas 元素或他们的id。二。显示图片。cv.imshow('canvasOutput', dst):canvasO.
原创
发布博客 2021.11.15 ·
4656 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

vue SEO

一。本人主要是在不改动SPA单页面的情况下,专门针对爬虫进行处理,从而完成SEO。使用工具:puppeteer、nginx。puppeteer:主要用于生成wa
原创
发布博客 2021.05.31 ·
214 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

微信小程序 webview 返回按钮阻止返回

一。需求:微信小程序在使用webview 时,导航栏是不允许自己修改的。对于左上角的返回按钮,如果相要在返回的时候,弹框确定后再返回,微信小程序是没有api支持。在微信小程序的思路上基本无解。二。解决办法:用于我们的webview 就是直接使用的微信浏览器。我们是可以使用js 相关的 History API. 主要是通过 设置 history.pushState 这个方法来阻止的。history.pushState API说明:总共是三个参数,前面两个不用管直接用null 即可,第三个代码跳转页面的
原创
发布博客 2021.05.14 ·
8760 阅读 ·
3 点赞 ·
3 评论 ·
11 收藏

Failed to connect to github.com port 443: Timed out

一。github 网络错误处理办法: 打开https://github.com.ipaddress.com/ 如下图 ​​​​​​​​​​​​​​ 打开https://fastly.net.ipaddress.com/github.global.ssl.fastly.net#ipinfo​​​​​​​ 如下图: 打开 https://github.com.ipaddress.com/assets-cdn.github.com 如下图: 将红框框住的 ip 复制下来。.
原创
发布博客 2021.04.20 ·
1431 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

字体加载

需求:就在字体加载完成时,将该字体的字绘制到canvas 中。假如该字体未加载完成前,使用canvas 绘制的就是默认字体的字。涉及到的项目:青柠设计:https://qingning6.com/一。如何判断一个字体是否加载完成。使用api :document.fonts./** * 验证字体是否加载完成 * fonts => [{fontSize, fontFamily}] * */function validFonts(fonts) { return new Prom
原创
发布博客 2021.04.02 ·
1207 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

css 文字渲染

css 文字渲染实测结论:测试的内容都是使用span 标签(即是用内联元素进行测试的)具体显示效果可以参考:青柠设计:https://qingning6.com/参数说明:字体自带行高:fontLineHeight;css设置的行高:lineHeight;字大小:fontSize;行数: row;列数: col;文字宽高:width、height;字间距:letterSpacing;水平文字:单行文字,文字的高度:height = fontLineHeight 多行文字,文字高度:hei.
原创
发布博客 2021.04.01 ·
407 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

阿里云 跨域问题处理

主要针对:No 'Access-Control-Allow-Origin' header is present on the requested resource一。首先是判断是不是客户端缓存的原因。二。按照阿里云的官方文档进行处理。链接:https://help.aliyun.com/knowledge_detail/39518.html?spm=a2c4g.11186623.2.18.37242dffXszCIQ三。确定下是否设置个允许跨域。设置过请求会出现如下图的header如果出
原创
发布博客 2021.01.15 ·
3027 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

opencv 构成js版本

重点说明:不要使用window 进行编译,不然会出现各种奇葩的错误。(我花啦一周的时间尝试wind10 没有成功。)一。系统安装步骤说明:如果是window 系统,请直接安装VMware 虚拟机。然后在虚拟机里面安装Ubuntu 20 版本。 VMware 下载地址:https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html Ubuntu下载地址:https://cn.ubuntu.com/dow
原创
发布博客 2021.01.07 ·
1092 阅读 ·
3 点赞 ·
8 评论 ·
5 收藏

canvas multiply、screen

一。canvas multiply、screen计算过程multiply 计算:r/g/b/a 分别相乘除以255及是混合后的值。 function aM(left, right) { let newArr = [] for(let i = 0; i < left.length; i++) { newArr.push(left[i] * right[i] / 255) } console.
原创
发布博客 2020.12.14 ·
184 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

image 描边

function stroke(image, width, height) {const strokeCanvas = document.createElement('canvas') strokeCanvas.width = width strokeCanvas.height = height const strokeCtx = strokeCanvas.getContext('2d') strokeCtx.drawImage(image, 0, 0, .
原创
发布博客 2020.10.30 ·
443 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

h5 组合和解组

一。组合:就是指多个元素组合成一个元素,组合的元素称为父元素,被组合的元素则称为子元素。组合后:父元素进行拖动、旋转、缩放时,子元素也相对于父元素进行。拖动时:实际就是改变父元素的位置,子元素相对于父元素是不变的。所以子元素相对于最原始的坐标轴为: 父元素的位置 + 子元素的位置。 旋转: 父元素旋转是绕父元素的中心点进行旋转的,子元素也是绕父元素的中心点进行旋转。则子元素的相对位置计算方式是:通过获取子元素的中心点,然后利用绕点旋转公式计算出子元素中心点绕父元素中心点旋转后得出的新的子元素中心点。然
原创
发布博客 2020.08.20 ·
422 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

vuex 状态管理器

一。Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。这个状态自管理应用包含以下几个部分:state,驱动应用的数据源; view,以声明方式将state映射到视图; actions,响应在view上的用户输入导致的状态变化。使用时机:多个视图依赖于同一状态。 来自不同视图的行为需要变更同一状态。 当项目是中大型时,也需要时机。每一个 Vuex 应用的核心就是 store(仓库)。“store”基本上就是一个容器,它包含着你的应用中大部分的状态 (stat...
原创
发布博客 2020.07.29 ·
259 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vue-router

一。vue-route 简介:通过<router-view></router-view>进行组件渲染。通过<router-link to="a"></router-link> 进行跳转(组件局部刷新)。 api 导航:通过router实例,router.push() / router.replace / router.go() / router. 获取路由参数:t通过 route 属性进行获取 (this.$route.query / this.$ro
原创
发布博客 2020.07.29 ·
242 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

table 表头固定

一。table 表头固定说明。我们将表头和表内容分成两个表格就可以解决该问题。二。代码。css代码:里面定死的宽高只是为啦方便看效果,实际中需要使用js计算出来。* { box-sizing: border-box; } .table { border: 1px solid #efefef; ...
原创
发布博客 2019.09.27 ·
2033 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

typeScript

一。类型说明:JavaScript 的类型分为两种:原始数据类型和对象类型。原始数据类型包括:布尔值、数值、字符串、null、undefined 以及 ES6 中的新类型 Symbol。二。TypeScript 内如何定义类型。通过(:)进行定义。类型值分别是(number, string, boolean, null, undefined, any(代表任何类型))。如果没有定义类型则默认设...
原创
发布博客 2019.08.02 ·
211 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

js 函数节流

一。函数防抖:基本思想是指,某些代码不可以在没有间断的情况连续重复执行。第一次调用函数, 创建一个定时器,在指定的时间间隔之后运行代码。当第二次调用该函数时,它会清除前一次的定时器 并设置另一个。如果前一个定时器已经执行过了,这个操作就没有任何意义。然而,如果前一个定时器 尚未执行,其实就是将其替换为一个新的定时器。目的是只有在执行函数的请求停止了一段时间之后才 执行。常用于onresize 事...
原创
发布博客 2019.07.23 ·
323 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

js 拖放

一。说明:通过draggable 属性设置元素是否可拖动。true 则可拖动,反之不行。二。拖放API(1)拖动元素时触发的API:dragstart():开始拖动的时候触发。 drag():拖动期间触发,dragstart 触发后就开始触发。 dragend():拖动停止时触发。(2)放置到目标元素时,触发的API:dragenter():元素被拖动到放置目标上,就触发。...
原创
发布博客 2019.07.18 ·
180 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

html5 canvas API

一。canvas 是一个html 标签。必须先设置其 width 和 height 属性,指定可以绘图的区域大小。width、height、css可以随便的修改。主要用于2D 绘图。画图操作必须先设置颜色,然后画线。所有以 fill 开头的API 都只能使用fillStyle 属性填充颜色,以stroke 开头的 API 都只能使用strokeStyle 属性进行描边。二。API说明:这...
原创
发布博客 2019.07.18 ·
298 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多