自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 前端学习日记 -- 八月

1、柯里化与连续箭头函数(闭包):https://blog.csdn.net/allangold/article/details/86667908

2019-09-03 14:01:32 3157

原创 Node.js —— Egg.js实现excel文件上传下载

关于上传

2019-08-07 19:51:12 2266

原创 leetcode刷题记录(更新中)

数字数组1、给定一个排序数组,原地去掉重复数字(例[1,1,2])过程:我的解法是利用了indexOf只返回第一个结果:执行时间较长o(n),没有注意到“排序数组”排名靠前的解法:1、利用了nums[i]与nums[j]交换,较巧妙2、或者伪装成原地:var result = Array.from(new Set(nums));nums.splice(0,nums.length,....

2019-08-02 12:30:59 269

原创 前端学习日记 --七月

201907031、react300问:react的合成事件:初步了解e.nativeEventhttps://segmentfault.com/a/11900000157252142、Visual DOM工作原理:3、高阶组件举例:增加propsfunction HOC(WrappedComponent){ return class Text extends Component...

2019-08-01 10:15:38 1215

原创 ElasticSearch与非关系型数据库

数据库差异ElasticSearch是一个基于Lucene的搜索服务器,提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。它使用Java开发,并作为Apache许可条款下的开源发布,是当前流行的企业级搜索引擎。—— 摘自百度百科对于非关系型数据库不熟悉的,可以了解一下:【知乎好文】MongoDB 等 NoSQL 与关系型数据库相比,有什么优缺点及适用场景?ht...

2019-07-22 16:03:32 2665 1

原创 前端学习日记 --六月

201906031、Array.prototype.slice.call(arguments, 0)用来将arguments变量转换为真正的数组。2、依赖注入:https://yanhaijing.com/javascript/2014/01/24/dependency-injection-in-javascript/通俗理解:https://zhuanlan.zhihu.com/p/261...

2019-07-01 10:11:41 450

原创 前端学习日记 -- 五月

2019-05-060、match(/app/gi)中的i是忽略大小写。2019-05-070、git工作中遇到:1)git add错文件,撤回add,需要按文件(夹) 输入git reset HEAD <文件名>;2)git dev合并到release:在dev上push到远程对应分支后,本地拉取最新的release分支,本地切换到release分支,执行git merge...

2019-05-30 16:42:17 349

原创 百度小程序 / 快应用使用nanachi开发注意事项

百度小程序页面相关:⚠️ 不要设置全局的margin/padding样式,如:*{margin: 0; padding: 0}会导致视频的播放按钮错位1、scroll-view中不能使用video解决办法:页面的最外层父级使用div,不使用scroll-view,也可以实现页面滑动的效果截图自百度小程序开发官网:https://smartprogram.baidu.com/docs...

2019-05-29 14:42:17 668

原创 Vue.js第二篇:官网 基础

1. “所有DOM操作由Vue.js处理”<div> <p>{{ message }}</p> <button v-on:click="reverseMessage">reverse</button></div>methods: { reverseMessage(){ this.message = this....

2019-05-29 10:19:50 175

原创 各种网络攻击 这谁遭得住啊

一号 XSS(与CSS同名 被迫叫XSS 显得更凶狠)1、打一下就跑策略(非持久型XSS)实例访问:https://xxx.com/xxx?default=网页中原有代码为: location.href.substring(location.href.indexOf(‘default=’) + 8)现有的很多浏览器内置了XSS过滤器,例如Chrome下会把访问:https://m.now...

2019-04-28 14:56:25 412 1

原创 阻止苹果xs max浏览器页面整体滚动

今天发现一个神奇的现象,在苹果xs max型号手机上滑动一个列表页面,整个页面(包括顶部fix的头组件)都在滑动,网上称之为橡皮筋效果。页面的滚动看起来比较乱,其实知道原理可以分析出:外层的滚动(上下会出白色无内容空间)是由于body在touchmove时发生了滚动,内层的滚动(如列表内容在页面空间内滑动)是由于页面组件在touchmove时发生了滚动。其实际上是个冒泡问题,解决办法是阻止...

2019-04-26 17:44:07 1162 1

原创 使用js添加script标签

在开发中可能遇到需要使用到某个js里的方法,但是页面是后端返回的,不方便让后端添加js的时候(同一个页面的模版可能多个页面使用,只有一个页面需要引入js时,最好不要修改模版),可以通过js代码进行添加:var secScript = document.createElement("script");secScript.setAttribute("type", "text/javascript"...

2019-04-25 18:07:22 9823

原创 前端学习日记 -- 四月

2019-04-091、前端国际化:React-intl https://segmentfault.com/a/11900000058249202、CSS内阴影 inset;不规则阴影 filter;3、CSS transform(变化);transition(过渡 - 动画);4、【初探】:浮点数计算:https://github.com/camsong/blog/issues/9(有...

2019-04-09 19:12:20 379

原创 TypeScript入门

0. 安装node install -g typescript --save1. 使用新建文件:main.ts,键入let message = 'Hello World!';console.log(message);命令行输入:tsc main.ts,得到一个js文件var message = 'Holle World!';console.log(message);注意let...

2019-04-09 19:11:13 199

原创 Vue.js第一篇:入门

0. 安装检测电脑是否已经安装Vue.js:vue --version;如果没有安装,通过npm安装:npm install -g @vue/cli;1. 新建方式1 命令行新建:vue create test;(default)运行:npm run serve;访问:localhost:8080;方式2 UI界面打开VueUI界面:vue ui;选择create/选择位置/键...

2019-03-28 11:03:02 207

原创 nginx使用相关命令与配置

启动安装的nginx服务:首先,Mac默认安装的nginx目录位于/usr/local/etc/nginx/,启动时命令为brew services start nginx,修改配置文件为vim nginx.conf.default,然后重启服务brew services restart nginx。项目中配置nginx文件:在项目根目录中配置nginx.conf,如:http {...

2019-03-20 18:31:00 134

原创 JS 今天/明天的日期

//今天的日期var today = new Date();today.setTime(today.getTime());var todayStr = today.getFullYear()+"-" + (today.getMonth()+1) + "-" + today.getDate();//明天的日期var tomorrow = new Date();tomorrow.setTi...

2019-03-19 19:01:19 4963

原创 针对火狐的CSS样式设置

在工作中发现,有些效果在chrome浏览器中能实现的效果,在火狐下没有,比如截几行,在chrome下通过下述代码实现:display: -webkit-box;overflow: hidden;/*text-overflow: ellipsis;*/-webkit-line-clamp: 2;-webkit-box-orient: vertical;网上的一种方法已经失效:@-mo...

2019-03-13 18:03:34 5552

原创 最简单快速理解Promise与setTimeout

PromiseMDN上的例子稍稍变化:var p = new Promise(function(resolve, reject){ setTimeout(function(){ resolve(&amp;amp;quot;foo&amp;amp;quot;); console.log(&amp;amp;quot;first&amp;amp;quot;); }, 1000);});p.then(function(value){ console.log(v

2019-03-06 11:09:12 1944

原创 JQueryTutorial 笔记

简单指引:1 CSS;2 html / val;3 更精细的选择器^ *;4 DOM操作;5 类相关6 鼠标;7 键盘;8 input;9 on;10 fade / sliceUp效果;11 animation动画JQueryhttps://jquery.com/1、CSS$(&amp;amp;amp;amp;quot;#wrapper&amp;amp;amp;amp;quot;).css(&amp;amp;amp;amp;quot;width&a

2019-02-18 17:10:26 194

原创 canvas网页版贪吃蛇(完整教程)

版权声明:本文为博主原创文章,允许转载,但转载必须注明出处并附带首发链接 https://blog.csdn.net/Nana_9457/article/details/86570234一起来实现一个贪吃蛇吧~源码见github: https://github.com/NanaYang007/Canvas__DoodleSnake喜欢请给个star,谢谢~0. 创建canvas获取绘制环境...

2019-01-21 11:06:36 2043

原创 数组的奥妙(更新中)

一、数组新建方法一:var a = [1,2,3]; 这种方法最好,但是针对很长的数组不好实现;方法二:new Array(LENTH) 这种方法会产生数组中的holes,可以通过fill()填充优化var a = new Array(3); // [,,]var a = new Array(3).fill(0); // [0,0,0]方法三:Array.from()从array-li...

2019-01-15 10:31:32 169

原创 React知识点梳理(更新中)

1、创建Component方式1)Function Components:function Greeting({ message }) { return &amp;amp;amp;amp;lt;h1&amp;amp;amp;amp;gt;{ `Hello, ${message}! ` }&amp;amp;amp;amp;lt;/h1&amp;amp;amp;amp;gt;}2)Class Components:class Greeting extends Rea

2019-01-15 09:57:51 243

原创 异步请求加锁

场景:不断加载的图片列表(发送图片列表请求),每次从后台传回offset,下次请求带上传回的offset。BUG发现中:快速滑动加载更多时,同一个offset会发送两次。原因分析:offset是后端返回后异步setData(微信小程序写法)到data(store)中的,异步存储没有结束就读取offset发送请求获取的是上次的offset。解决对策 —— 上锁

2019-01-10 14:36:18 1993

原创 初识互联网金融

一、融资在36Kr新闻中经常看到企业获得天使轮、A/B/C轮投资,始终分不清,于是查阅资料了解下:1、投融资概念:资金盈余者将钱基于给资金短缺者,资金短缺者之后返还本金及投资回报或亏损。2、投资类别权益资本投资的一种形式,是指富有的个人出资协助具有专门技术或独特概念的原创项目或小型初创项目,进行一次性的前期投资。种子和天使投资类别说明天使投资权益资本投资的一种...

2019-01-04 10:32:34 558

原创 深度学习入门系列二 NumPy库/Matplotlib库入门

NumPy导入import numpy as np生成NumPy数组x = np.array([1.0, 2.0, 3.0])print(x) # [1.0, 2.0, 3.0]type(x) # &amp;amp;amp;lt;class 'numpy.ndarray'&amp;amp;amp;gt;算术运算&amp;amp;amp;gt;&amp;amp;amp;gt;&amp;amp;amp;gt; x = np.array(

2018-12-27 15:53:43 213

原创 深度学习入门系列一 Python入门

一、Python入门1.1 Python安装python有2.和3.两个版本,且不具备向后兼容性(2.的版本不能运行3.的程序),建议安装3.版本(Python官网下载)并下载安装库:NumPy库 —— 用于数值计算Matplotlib —— 用于画图...

2018-12-26 17:29:51 172

原创 JS原生操作DOM(更新中)

在React项目中有时需要原生的JS操作DOM(项目没有引用jquery库),这里持续更新一些方法:一、父子节点中插入中间层(div等)最近在做一个需求,一个后端返回的html代码中给图片加“查看原图”按钮,由于需要基于父元素定位,所以要用div将原有的img包起来,并且在img后加入input标签,需要用到插入中间层的功能。思路:通过img获取到父元素,在父元素中添加新的div子元素,然后...

2018-12-21 14:43:06 493

原创 随抄 杂记

抄记:函数式编程编程介绍函数式编程 —— 高阶函数高阶函数指的是参数或返回值为函数的函数。“有了高阶函数,就可以将复用的粒度降低到函数级别。相对于面向对象语言,高阶函数的复用粒度更低。”def sumInts(a: Int, b: Int) = sum(id, a, b)def sumCubs(a: Int, b: Int) = sum(cube, a, b)def sumFactor...

2018-12-20 15:47:36 167

原创 无处安放的居中(未解决)

面试时总问到几种方式实现居中,当时觉得很奇怪,为什么需要了解那么多方式实现一个效果,等到真正做需求才发现,根据不同的场景可能有不同的限制,只掌握一种方式是不能实现各种情况下的居中需求。需求:让后端返回的富文本中div的img居中两种方式(都存在问题):一、div设置为text-align: center; width: 100%,img自然居中。问题:如果div中还有文字等内容,也会变成...

2018-12-20 15:46:10 200

原创 楼层跳跃思路——页面导航实现锚点

楼层跳跃是移动端App常见的模块,实现功能是页面模块引导、快速定位到用户选择模块。以大众点评 - 餐厅详情页面为例:楼层跳跃有几个点需要考虑:1、何时出现以及在页面滑动中置顶;2、计算各模块offset和height;⚠️如果页面有异步加载数据(模块动态加载),需要等数据异步返回后再计算各模块offset和height(全部返回判断采用count计数);3、导航点击时,已经选中的条目...

2018-12-13 19:45:59 740

原创 React操作DOM —— 添加查看原图按钮的图片点击事件

时刻提醒自己React的生命周期,镇楼图:需求:点击页面中的图片获取到全部图片的src以及当前图片的index。麻烦点:页面是react编写;页面显示的数据均是由后端以拼接html形式传过来的,img也在html拼接结果中。踩坑过程:首先,不能在componentDidMount中获取到imglist,因为componentDidMount最后才异步获取后端接口数据,所以想在co...

2018-12-11 20:06:47 3003

原创 原型与原型链继承

梳理概念关于这部分内容有几个概念,首先看一段最简单的代码:function Person(){}var person = new Person();注:Person中可以有this.属性 = 传入参数,但这里不加任何内容,Person也是构造函数,即构造函数看起来可以是一个普通函数。在这段代码中就包含着三个概念构造函数(Person)、实例(person)、以及原型/原型对象。三...

2018-12-07 15:55:35 175

原创 观察者模式与发布订阅模式对比

直接上代码,很简单的两个例子:// subscribe_publish: 发布订阅模式// 有一个中间的事件通信通道,订阅者A和发布者B是通过pubsub这个对象关联起来的,他们没有直接的交流。console.log(&quot;pubsub:&quot;)var pubsub = (()=&amp;gt;{ var topics = {}; function subscrbe(topic, fn){...

2018-12-05 17:01:41 282

原创 slice/splice

鉴于本人总是把slice和splice弄混,此处写一遍加深记忆。首先注意两者的共同点:针对数组不同点在于:功能完全不同;返回值的用法不同;是否改变原数组sliceslice的作用是从已有数组中返回选定的元素。参数说明:arrayObject.slice(start, end)start —— 必需,规定从何处开始选取。如果是负数,则规定的是从数组尾部开始算起的位置(-1...

2018-12-04 17:40:45 132

原创 mobx入门

React 和 MobX 是一对强力组合。React 通过提供机制把应用状态转换为可渲染组件树并对其进行渲染。而MobX提供机制来存储和更新应用状态供 React 使用。0. 安装安装: npm install mobx --saveReact 绑定库: npm install mobx-react --save1. 概念图2. 例子const { observable, act...

2018-11-28 11:46:58 288

原创 项目中的奇葩滚动问题

1、touch项目:⚠️注意:如果是多个橫划组件只显示一个,需要一开始都显示,新建橫划组件,然后再新建后隐藏(不然没法计算宽度等,bug效果是滑动弹回);2、node项目:⚠️注意:子子子…组件高度变化(如展开/收起条目),父组件的Scroller不改变高度,现用的办法是从父组件传递一个函数funSta到子组件,函数的功能是改变父组件的state里一个变量,子子子…组件在点击展开/收起按钮的...

2018-11-23 20:08:50 243

原创 前端面试题集锦——Linux篇(更新中)

1、关于Linux命令作用下面说法错误的是()a. ps -ef 可以显示所有进程b. cat /proc/meminfo 可以查看物理内存的大小c. tar 命令可以用来解压xxxx.gz文件d. awk 可以对文本和数据处理分析© 解析:.tar.gz和.gz文件是两种不同的文件,需要区别对待,解压命令当然也不同。.tar.gz文件,这种文件是tar文件的压缩文件,可以使用ta...

2018-11-20 17:53:52 527

原创 前端面试题集锦——浏览器篇(更新中)

1、链接:https://www.nowcoder.com/questionTerminal/633ab3206e2e40fcab09941dd1cafd8f来源:牛客网下面关于 form 属性中说法错误的是a. method属性一共有两个选项,post 和 getb. action属性用来定义提交给服务器处理程序的地址c. enctype属性用来定义表单数据进行编码的方式d. enc...

2018-11-20 17:41:42 273

原创 前端面试题集锦——JS篇(更新中)

1、原题:链接:https://www.nowcoder.com/questionTerminal/8e3f169e6199429cb730fe3cd40957b0来源:牛客网请给出这段代码的运行结果( )var bb = 1;function aa(bb) { bb = 2; alert(bb);};aa(bb);alert(bb);a. 1 1b. 1 2...

2018-11-16 14:58:35 199

空空如也

空空如也

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

TA关注的人

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