js
许hao
这个作者很懒,什么都没留下…
展开
-
Rxjs 学习入门
Rxjs 学习定义观察者 var observer = { next: function (value) { console.log(value, '接收到的值'); }, error: function (error) { console.log(error) }, complete: function () { console.log(原创 2021-03-19 17:26:22 · 266 阅读 · 0 评论 -
Jest 语法
Jest 语法https://www.jianshu.com/p/e54218d676281. 匹配器// toBe() 精准匹配 , 只能检测常规类型test('数值相加 , 等于2' , () => { expect(2+2).toBe(4)})// toEqual() 精准匹配 : 可以检测对象test("检测object对象,是否是预期结果" , () => { const data = { one : 1} data["two"] =原创 2021-03-18 16:06:52 · 378 阅读 · 0 评论 -
支持多路视频播放的流媒体服务器,可直接使用
1. node-rtsp-stream通过node调用, ws方式, 输出的是MPEG-TS格式的视频流; 接着通过JSMpeg喂给canvas;缺点 : 只能同时播放一路视频优点 : 低延时,1s改进 : 可以自行二次封装,支持多路播放;2. ke-rtsp一种基于Media Source Extensions(简称MSE)技术实现的html5实时视频直播方案。Node.js调用ffmpeg包装rtsp流,然后通过socket.io转发包装后的流,前端html5获取流数据并通过MSE把流原创 2021-03-11 20:09:49 · 2316 阅读 · 1 评论 -
echarts x轴刻度鼠标事件
设置xAxis的triggerEvent属性为truelet myChart = echarts.init(document.querySelector('.right-top-echarts-line')) let option = { tooltip: { trigger: 'axis', axisPointer: { type: 'cross', label: { ..原创 2021-02-24 16:08:52 · 1248 阅读 · 0 评论 -
记录一次使用mockjs出现诡异问题
根据需要,项目引入了mock,一切就安装就绪妥当之后,发现项目部分功能模块异常;这个功能模块使用了three的GLTFLoader加载器,报错是在GLTFLoader里面抛出的抛出的异常代码SyntaxError: Unexpected token < in JSON at position 0 at JSON.parse (<anonymous>) at GLTFLoader.parse (GLTFLoader.js:213) at Object.onL.原创 2020-12-07 16:14:50 · 1502 阅读 · 2 评论 -
高阶函数
高阶函数(High-Order Function)是函数式编程思维中的重要条件,而满足该条件的编 程语言则需要将函数作为该语言的一等公民来看待。符合一等公民的条件是:函数可以作为一种数据类型的值,赋值于一个变量;函数可以作为参数,在其他函数中进行传递;函数可以作为返回值,在其他函数中返回;函数入参//高防maplet map = function( fn){ const t = []; for(let i = 0 ; i < this.length ; ( t.push转载 2020-10-11 16:13:27 · 166 阅读 · 0 评论 -
理解JavaScript 中的执行上下文和执行栈
理解JavaScript 中的执行上下文和执行栈一 javascript执行上下文有三种类型1.全局执行上下文,在浏览器中的全局对象是window,this指向这个全局对象2.函数的执行上下文,存在无数个,只有在函数调用的时候才被创建,每次调用函数都会创建一个新的执行上下文3.eval 函数执行上下文,指在eval函数中运行的代码,很少使用,忽略**二 执行栈**执行栈,叫调用栈,...原创 2019-12-12 21:02:08 · 541 阅读 · 0 评论 -
Javascript深入之执行上下文栈和变量对象
函数提升2.变量提示 (因为是同一个变量,所以只提示一次)3:声明优先级,函数 > 变量需要注意的是,同一作用域下存在多个相同的函数声明的时候,后面的会替换前面的变量的存放 首先我们知道内存有栈和堆基本数据类型,—>保存在栈中,因为这些类型在内存中分别占有固定的大小,通过值来访问;基本数据类型包含6种,undefined ,Null,Boolean...原创 2019-12-12 21:13:11 · 300 阅读 · 0 评论 -
vue饿了么文本域自动根据屏幕高度,动态设置autosize
<el-input type="textarea" :autosize="autosize" placeholder="请输入内容" v-model="value"></el-input><script>data(){ return { value : '', screenWidth: document.body.clientWidth, timer:fal原创 2020-07-09 20:36:33 · 3477 阅读 · 0 评论 -
一机双屏和双屏通信方案总结
项目中需要用到web一机双屏,也就是一台电脑,两个屏幕,每个屏幕分别展示一部分的内容,两个web标签页之间自然少不了实时通信和互动,下面简单介绍一下,在项目中对该问题的思考和最终解决方案:一:打开两个标签页的方案1.如果打开的标签页是固定的,则可以直接在a标签加上target="_blank"属性搞定!例如:打开必应首页 代码为: 必应首页2.如果页面地址是动态变化的,则可以使用js的 window.open(url)方法。有两个注意点:第一个安全性问题:如果父页面和新打开的页面诗不同转载 2020-06-23 10:23:58 · 666 阅读 · 0 评论