javascript
没有什么时间是比现在合适的
欲穷千里目,更上一层楼。
展开
-
path.resolve() 和 path.join() 的区别
path.resolve()相对于当前路径,将传入的参数解析为一个绝对路径。解析的过程是从右往左,遇到 / 表示跳转到根目录, …/ 表示跳转到上一层目录。前提:执行命令的路径为 D:\platform\testconsole.log(path.resolve('a', 'b', 'c')) // D:\platform\test\a\b\cconsole.log(path.resolve('a', 'b', '/c')) // D:\cconsole.log(path.resolve('a',原创 2020-11-20 10:59:58 · 177 阅读 · 0 评论 -
浏览器 event loop 解读
原创 2020-08-26 14:00:39 · 128 阅读 · 0 评论 -
JavaScript 执行上下文解读
概念理解执行上下文其实是函数调用的一个抽象环境,环境中包括了函数内部和外部所关联的所有的引用关系,这些引用关系会在函数执行的时候用到。执行上下文包括三种类型:分为全局执行上下文函数执行上下文eval执行上下文每个执行上下文都有三个属性变量对象作用域链this变量对象函数的形参(如果是在函数作用域中)函数声明变量声明作用域链局部变量 scope,用于存放当前执行上下文的父级执行上下文的引用this默认绑定非严格模式下,默认绑定的 this 指向全局对象, wi原创 2020-08-24 14:52:02 · 127 阅读 · 0 评论 -
原生 js 实现鼠标拖拽绘制矩形区域
业务开发中遇到一个场景,视频监控播放的时候,需要在视频区域画一个矩形,然后将这个矩形包括的范围放大的功能。所以首先就需要一个可以在 video 标签上绘制矩形的方法。思路:鼠标按下,记录鼠标按下的位置,及绘制矩形的起点。鼠标移动的时候,以起点为原点建立直角坐标系,然后分别讨论移动之后的鼠标点在四个坐标象限的情况。鼠标弹起,清空鼠标移动个鼠标弹起事件,调用矩形绘制方法的回调函数。在鼠标移动的过程中还要考虑到鼠标越界的情况。代码如下:<!DOCTYPE html><html原创 2020-08-21 15:19:14 · 2228 阅读 · 0 评论 -
js在for循环中延时打印索引的两种方法
闭包利用闭包将每一次循环中的 i 保存起来,等待延时器回调函数获取。for(var i = 0; i < 6; i++){ setTimeout(function generatorFunc (i) { return function sonFunc () { console.log(i) } }(i), 1000)}generatorFunc 是一个立即执行函数,接受一个参数并返回一个函数 sonFunc 。sonFunc 作为延时器的回调函数。在每原创 2020-08-11 12:02:05 · 587 阅读 · 0 评论 -
window.open()打开新的标签页,不遮盖任务栏最大化显示
window.open(strUrl, strWindowName, [strWindowFeatures]);strUrl === 要在新打开的窗口中加载的URL。strWindowName === 新窗口的名称。strWindowFeatures === 一个可选参数,列出新窗口的特征(大小,位置,滚动条等)作为一个DOMString。遇到需求,打开新的窗口实现最大化,不遮挡计算机任务栏的那种。依据MDN的解释,strWindowFeature是一个可选参数。是一个字符串值,这个值列出.原创 2020-08-05 10:12:11 · 765 阅读 · 0 评论 -
Genetor快速入门
generator(生成器)是一个可以多次返回的函数基本语法generator由function* 定义(注意多出的 * 号)genetor初识genetor函数声明需要加 * 号genetor函数的执行会返回一个对象,对象上面有一个next()方法。genetor函数可以分阶段执行并在阶段结束的时候返回对应的返回值。每个阶段的结束位置由yield标记(yield类似于return)。阶段的返回值是一个对象,对象有两个属性,一个属性是value为yeild后面的表达式;另一个属性为done原创 2020-05-09 17:48:24 · 491 阅读 · 1 评论