自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 收藏
  • 关注

原创 matlab绘制风场图(矢量图、箭头图)

在搜索过程中,找到了MATLAB绘制海面风场图像,但实现过程中,显示出错 m_pcolor (line 43) data(i)=NaN。又是第一次接触matlab,有点儿懵。不过搞了一下午总算搞懂了,记录下菜鸡之路。绘制的重点在于quiver函数。quiver(x,y,u,v)函数使用箭头来直观的显示矢量场。该调用格式表示通过在(x, y)指定的位置绘制小箭头来表示以该点为起点的向量(u,v)。x、y、u、v的行数、列数必须对应相等。即x、y、u、v必须是同型矩阵。需要注意的是,如果x、y不是

2020-11-06 21:05:08 14654 2

原创 需要手写的代码

拷贝 promise 防抖节流 虚拟dom 响应式原理 圣杯布局

2020-10-28 15:35:20 158

原创 github

1、github提交代码2、修改之后再次提交 分支​​​​​​​

2020-09-24 14:47:42 156

原创 使用JSZip与FileSaver批量下载文件

接转换数据代码:github地址1、FileSaver.js :文件下载使用:先引入js var selectedFile = document.getElementById("files").files[i];//获取读取的File对象 var name = selectedFile.name;//读取选中文件的文件名 var size = selectedFile.size;//读取选中文件的大小 console.log("

2020-09-24 11:52:53 2410 1

原创 转换数据-- nc到csv到json

https://blog.csdn.net/weixin_44033309/article/details/102843956

2020-09-23 12:44:01 1981

原创 阿里面试hr

最有成就感的事情 跑步---坚持 项目团队分工 身边人对你的看法,优点,缺点 之前报了哪些公司,但阿里特别想进 身边让你值得钦佩的人 反问:加班问题时间:二三十分钟

2020-09-15 23:11:03 227

原创 vue react的区别

react和vue都是做组件化的,整体的功能都类似,但是他们的设计思路是有很多不同的。使用react和vue,主要是理解他们的设计思路的不同。1.数据是不是可变的react整体是函数式的思想,把组件设计成纯组件,状态和逻辑通过参数传入,所以在react中,是单向数据流,推崇结合immutable来实现数据不可变。而vue的思想是响应式的,也就是基于是数据可变的,通过对每一个属性建立Watcher来监听,当属性变化的时候,响应式的更新对应的虚拟dom。总之,react的性能优化需要手动去做,而

2020-09-14 14:19:11 129

原创 vue 的一些原理

一、watch大致过程具体过程为需要观察的数据创建并收集watcher(依赖),当数据改变时通知到watcher将新值和旧值传递给用户自己定义的回调函数(handler)。二、computed为什么计算属性有缓存功能?因为当计算属性经过计算后,内部的标志位会表明已经计算过了,再次访问时会直接读取计算后的值;为什么计算属性内的响应式数据发生变更后,计算属性会重新计算?因为内部的响应式数据会收集computed-watcher,变更后通知计算属性要进行计算,也会通知页面重新渲染,渲染时会读.

2020-09-11 21:04:47 106

原创 Promise,generator,async和await,callback 事件循环机制

1、回调函数:回调函数就是一个参数,将这个函数作为参数传到另一个函数里面,当那个函数执行完之后,再执行传进去的这个函数。这个过程就叫做回调。function a(callback){ alert("这是first函数a"); var x =1; var y=2; return callback(x,y); } function b(x,y){ alert("这是回调函数b"); return x+y; } $(function(){ var resu

2020-09-11 13:03:42 252

原创 闭包记录

https://blog.csdn.net/weixin_43586120/article/details/89456183

2020-09-11 10:43:25 113

原创 阿里面试记录

自我介绍 对前端了解知识,怎么解除前端 js,红宝书,包括什么内容 闭包,为什么会有闭包 样式污染 发布订阅者模式(具体过程):a发送消息给b.c.d 设计模式(列举) 排序算法中最快的是:快排;快排的时间复杂度nlogn,怎么算出来的? 动态规划 前端偶像,做出的前端探索 最有成就感的事,风场粒子,最难的一点在于哪一步 数据库,事务,视图 为什么会有闭包:在js里,函数是一等公民,函数可以..

2020-09-11 09:33:30 140 1

原创 字节一面

项目:难点、别的难点、vue-lazyload vue: npm run build:build具体执行build/build.js文件。"dev":"node build/dev-server.js", "build":"node build/build.js", vue-loader的作用,怎么解析的:数据绑定,vue中直接属性实现,那我们就得写原生方法。 数据绑定怎么实现 2.0 3.0区别,为什么有这个区别 数组方法改写之后有什么问题 ajax+promise-》fe...

2020-09-06 18:16:40 148

原创 继承

1、es6继承2、原型链继承Student继承Pepole:将Student的prototype属性指向Pepole的实例对象,使得它的Student.prototype=new Pepole()。这样就这样直接引用Pepole的形参了缺点:共享属性,因为引用类型的原因,改一个属性会改其他实例化对象的属性,其实人家不想改变。3、构造函数继承function Person(name, age) { this.name = name; this.age = age;

2020-09-04 14:20:13 128

原创 快排时间复杂度

时间复杂度

2020-09-04 09:47:20 201

原创 vue 响应式原理

Dep.target 全局变量指向的就是当前正在解析指令的Complie生成的 WatcherCompile是HTML指令解析器,对每个元素节点的指令进行扫描和解析,根据指令模板替换数据,以及绑定相应的更新函数,生成初始Watcher。详解Vue响应式原理Vue源码解读之Dep,Observer和Watcher...

2020-09-03 12:40:56 111

原创 css 居中问题

居中分为水平居中,垂直居中,水平-垂直居中三中情况。div居中一、水平居中1、外边距自适应:margin:0 auto;<style>center_text{  display:block;  width:500px;  margin:0 auto;}</style><div class="center">  <span class="center_text"> 我是行内元素,但我要居中必须是块级元素,所以我给自

2020-09-01 15:11:07 360

原创 手写call,apply,bind arguments

1、call、apply、bind的区别bind 和 call/apply 一样,都是用来改变上下文 this 指向的,不同的是,call/apply 是直接使用在函数上,而 bind 绑定 this 后返回一个函数(闭包)。call参数依次传入,apply参数是数组或类数组。call 的作用就是当执行一个方法的时候希望能够使用另一个对象来作为作用域对象而已,简单来说就是当我执行 A 方法的时候,希望通过传入参数的形式将一个对象 B 传进去,用以将 A 方法的作用域对象替换为对象 Bcall,.

2020-08-31 15:56:41 244

原创 虚拟dom总结

一、三个过程用JavaScript模拟DOM树,并渲染这个DOM树 比较新老DOM树,得到比较的差异对象-----diff 把差异对象应用到渲染的DOM树。------patch(打补丁)先利用diff找到差异对象,再对其进行patch,就是创建新节点、移除等操作。有一个问题:那个老dom树就是真实dom树吗,对其patch就是对真dom树直接进行操作吗?我觉得是的浅析虚拟dom原理并实现详解Vue中的虚拟DOMVue.js通过编译将template 模板转换成渲染函数(rende

2020-08-27 18:18:12 235

原创 HTTP1.0、HTTP1.1 和 HTTP2.0 的区别

一、HTTP的基本优化影响一个 HTTP 网络请求的因素主要有两个:带宽和延迟。带宽:如果说我们还停留在拨号上网的阶段,带宽可能会成为一个比较严重影响请求的问题,但是现在网络基础建设已经使得带宽得到极大的提升,我们不再会担心由带宽而影响网速,那么就只剩下延迟了。 延迟: 浏览器阻塞(HOL blocking):浏览器会因为一些原因阻塞请求。浏览器对于同一个域名,同时只能有 4 个连接(这个根据浏览器内核不同可能会有所差异),超过浏览器最大连接数限制,后续请求就会被阻塞。

2020-08-26 17:36:59 197

原创 es5实现Promise---具体实现

1、正常使用Promisevar p = new Promise(function(resolve, reject){ console.log('执行') setTimeout(function(){ resolve(2) }, 1000)})p.then(function(res){ console.log('suc',res)},function(err){ console.log('err',err)})同步实现2、首先实.

2020-08-21 10:24:40 2127

原创 手写Promise ----代码 及关于promise的一些知识

1psomise,thenfunction MyPromise(executor){ var _this = this _this.state = 'pending'; //状态 _this.value = undefined; //成功结果 _this.reason = undefined; //失败原因 _this.onFulfilled = [];//成功的回调 _this.onRejected = []; //失败的回调 functio.

2020-08-21 10:24:04 182

原创 css3属性小应用

transform向元素应用 2D 或 3D 转换。该属性允许我们对元素进行旋转、缩放、移动或倾斜。旋转:rotate(angle)rotate(angle),通过指定的角度对元素进行2D旋转,正值时顺时针旋转,负值时将逆时针旋转。transform:rotate(-20deg) //利用定时器实现圆圈转动效果 var tmp=0 function circleRun() { var circle = document.getElementById("ci...

2020-07-22 11:22:33 115

原创 内存泄漏

定义:应用程序不再需要占用内存的时候,由于某些原因,内存没有被操作系统或可用内存池回收。https://blog.csdn.net/qappleh/article/details/80337630

2020-07-08 19:13:15 80

原创 画一条0.5px的线

1、直接设置0.5px,在不同的浏览器会有差异(不同系统的不同浏览器对小数点的px有不同的处理)//画一条0.5px的线<!DOCType html><html><head> <meta charset="utf-8"> <style> .half-px { width: 300px; background-color: #000; .

2020-07-08 18:55:49 5065

原创 面试记录

招引电话面试:介绍项目 重绘重排 讲讲promise 讲讲es6箭头函数 innerhtml和outerhtml 字符串转为数字 很长的字符串转为数字 算法:大数相加一面:视频面()自我介绍 减少首屏加载时间(性能优化) dns解析 用es5实现promise,实现then方法(代码) 画一条0.5px的线 settimeout,promise,async顺序(时间循环机制) 实现继承(代码)狗继承动物 内存泄漏,怎么定位...

2020-07-08 17:56:51 90

原创 大数相加

function sub(str1, str2){ // 补全0,并多补一位0 let arr1 = null,arr2 = null if(str1.length>str2.length){ str1 = '0'+str1 for(let i=str2.length;i < str1.length;i++){ str2 = '0' + str2 } arr1 = str1.split('') arr2 = str2.split..

2020-07-08 13:08:12 119

原创 cesium项目问题解决

1、文字标注穿透问题描述:开启了深度测试,导致文字标注随地球转动解决:利用css显示和隐藏,得到地球中心点坐标,得到可视化区域,当移动地球时,目标已不在这个经纬度区域,故隐藏。2、settimeout的闭包问题在解决问题1时,需要先得到标注ThePrimitive1,但发现输出undefined,检查后发现是在定时器中执行得到ThePrimitive1的代码,产生了闭包。在函数运行完之后,内部的函数是要被销毁的而且函数中有与外部同名的变量的时候,会优先采用自己内部的变量,达到避免命名冲突

2020-07-02 12:58:35 833

原创 html

1、盒模型把所有的网页元素都看成一个盒子,它具有: content,padding(内边距),border(边框),margin(外边距) 四个属性,这就是盒子模型 分为标准盒子模型和IE盒子模型两种模式可以利用box-sizing属性进行自行选择:  标准模式:box-sizing:content-box;  IE模式:box-sizing:border-box;区别:标准盒子模型的 (height和width)只有content部分,而IE盒子模型则包括border + pa

2020-06-29 09:29:44 141

原创 风场可视化

风场步骤:1. 在屏幕上生成一系列随机粒子位置并绘制粒子。2. 对于每一个粒子,查询风数据以获得其当前位置的粒子速度,并相应地移动它。3. 将一小部分粒子重置为一个随机的位置。这就确保了风从不会变成空的区域。4. 淡出当前屏幕,并在顶部绘制新定位的粒子。具体代码步骤:1、生成经纬度网格 1)得到风场数据:头文件(包括各种参数,如行列数、经纬度范围等),(U,V)。 2)利用一个三维数组grid数存放数据。第一维表示行数,第二维表示列数,第三位表示每一个网格点的U

2020-06-29 09:29:28 1901 1

原创 webpack热更新

热更新(无刷新更新):HMR即Hot Module Replacement是指当你对代码修改并保存后,webpack将会对代码进行重新打包,并将改动的模块发送到浏览器端,浏览器用新的模块替换掉旧的模块,去实现局部更新页面而非整体刷新页面。来源:https://segmentfault.com/a/1190000020310371#item-3-4如上图所示,右侧Server端使用webpack-dev-server去启动本地服务,内部实现主要使用了webpack、express、websock.

2020-06-29 09:29:19 297

原创 vue补充

该项目是一个购物商城的移动 app,采用 VUE 框架构建单页面应用,实现购物商店的基本操作,如浏览商品种类及商品的详细信息等功能。 使用 vue 框架,vue-router 搭建项目路由,vuex 实现各组件数据的共享。 根据业务逻辑,划分组件,结合 vue 第三方插件(Swiper插件),ES6 语法、HTML5、CSS3 完成页面设计及布局实现。 采用组件化思想搭建项目,增加代码的复用性,从而提高开发效率,合理使用钩子函数,实现数据的监听。 通过 better-scroll、vue-

2020-06-29 09:29:05 138

原创 一些链接

跨域:https://segmentfault.com/a/1190000015597029浏览器请求与响应全过程详解:https://blog.csdn.net/u013243347/article/details/83270789浏览器是如何渲染页面的?:https://blog.csdn.net/u013243347/article/details/83270789this:https://zhuanlan.zhihu.com/p/82504422...

2020-06-29 09:28:39 233

原创 性能优化总结

1、减少HTTP请求1、合并和压缩css,js(将css文件和并为一个。将js合并为一个)webpack、gulp2、雪碧图(用将页面上的背景图合并成一张,然后通过css的(background-position:百分比,数值)属性定义值来取他的背景)3、尽量所使用的字体图标或者SVG图标来代替传统png图(因为字体图标或者SVG是矢量图,代码编写出来的,放大不会变形,而且渲染速度快)4、图片的懒加载( 1、页面开始加载时不去发送http请求,而是放置一张占位图 2、当页面加载完时,并且

2020-06-29 09:28:16 115

原创 cookie session

https://www.jianshu.com/p/9a561b36e9f3https://www.cnblogs.com/8023-CHD/p/11067141.htmlcookie存储的数据量有限,不同的浏览器有不同的存储大小,但一般不超过4KB。因此使用cookie只能存储一些小量的数据。可以考虑将登陆信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中。...

2020-06-18 10:57:52 117

原创 前端安全

记录一下1、跨站脚本攻击(XSS攻击)攻击者将恶意脚本插入到网页中,网页会将这些恶意脚本当正常脚本来执行。可以简单的理解为一种javascript代码注入所有可输入的地方没有处理输入的数据,就可能存在xxs漏洞。解决:不信赖用户输入,对特殊字符如”<”,”>”转义,就可以从根本上防止这一问题。2、跨站请求伪造(CSRF攻击)网站中的一些提交行为,被黑客利用,在你访问黑客的网站的时候进行操作,会被操作到其他网站上。也就是所谓的钓鱼。比如我们在登陆某个论坛,但这个网站

2020-06-18 10:36:07 122

原创 深浅拷贝

1、基本类型复制var a = 1;var b = a;//复制console.log(b)//1a = 2;//改变a的值console.log(b)//1console.log(a) //2//是地址的赋值,将对象指针赋值给一个变量,让此变量指向对象 因为基本类型(String,Number,Boolean,Null,undefined)是每一次创建变量都会在栈内存中开辟一块内存,用来存放值,所以基本类型进行复制是不会对另外一个变量有影响的2、引用类型复制----...

2020-06-17 15:31:26 97

原创 潮位标识物笔记

该项目在三维地理仿真环境上实现了潮位标识物可视化及监控,包括状态信息、设备管理、设备管理修改、警戒标识物、维护记录五个模块。1、BootStraphttps://blog.csdn.net/zxy9602/article/details/79642378①Bootstrap的栅格系统实现响应式布局它就是通过一系列的行(row)与列(column)的组合创建页面布局,然后你的内容就可以放入到你创建好的布局当中。工作原理:通过定义容器大小,平分12份(也有平分成24份或32份,但12份是最

2020-05-30 22:03:35 165

原创 风场动画笔记------数据格式

1、jsonjson是什么json是一种数据格式,它格式简单,易于读写,是前后台数据交互最常见的数据格式。为什么不用XML?1) 数据体积方面JSON相对于XML来讲,数据的体积小,传递的速度更快些。2) 数据交互方面JSON与JavaScript的交互更加方便,更容易解析处理,更好的数据交互。3) 数据描述方面JSON对数据的描述性比XML较差。4) 传输速度方面JSON的速度要远远快于XML。json语法1、数据在键值对中,key:value2

2020-05-29 15:56:18 1371 2

原创 bind

待补充台风中遇到的问题?帧 tickbind

2020-05-19 10:10:03 115

原创 面向对象案例,飞机大战

github上案例1、初始化界面1)放置计分器 创建元素(span),添加到界面2)放置音乐 创建元素(audio标签),添加到界面2、分析对象-飞机对象-敌军对象-敌军BOSS对象(继承敌军)3、创建飞机对象Plane -属性:图像对象(飞机)、难度等级、飞机速度、界面元素、子弹 -planeImg: -设置属性:图片路径、class属性、位置初始化样式 -index -sp

2020-05-11 16:07:24 386

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除