
前端
文章平均质量分 80
响尾大菜鸟
这个作者很懒,什么都没留下…
展开
-
详解JavaScript对象深拷贝
详解JavaScript对象深拷贝在几乎所有编程语言中,对象都以引用形式保存给变量、复制给其他变量。JavaScript语言也是如此。因此简单的进行赋值操作进行复制仅仅是对对象数据的引用地址进行一个传递,并不会将对象内部的所有属性进行一个完整的复制。也就是说,当修改其中一个对象,另一个变量也会发生改变,因为他们本质上指向了同一个对象引用。let obj={ a:1};let cop...原创 2019-04-04 13:09:25 · 2476 阅读 · 0 评论 -
皮尔逊相关系数实现相似K线及其性能优化
皮尔逊相关系数实现相似K线概念介绍相似K线是验证“历史总会重演”的一个经典产品,目前许多炒股软件都开始陆陆续续提供相似K线功能。如下图是某产品的相似K线效果图: 投资者可以根据相似K线展示的结果来观察个股可能的未来走势,从而对投资起到一定的指导作用。 本文就将简要介绍如何实现相似K线的计算,并讨论实现过程中的一些难点细节。计算及实现相似K线的实现主要分为两大部分,第...原创 2018-06-26 09:26:20 · 10334 阅读 · 9 评论 -
K线技术指标实现详解—筹码分布
K线技术指标实现详解—筹码分布概念介绍筹码分布是主流炒股软件中必不可少的一项技术指标。筹码分布表明了对应K线下的股民持仓价格分布情况,能让投资者据以判断个股的未来走势(压力位和支撑位)。下图展示了筹码分布图通常的展示形式: 在这幅图中我们可以看到当前股票的大致筹码分布情况:图中红色筹码为获利盘,绿色筹码为亏损盘,最大部分的筹码集中在42.21-44.74价格区间内。此时获利的股民...原创 2018-06-26 09:21:31 · 20734 阅读 · 13 评论 -
K线技术指标实现详解—ENE
K线技术指标实现详解—ENE概念介绍轨道线(ENE)由上轨线(UPPER)和下轨线(LOWER)及中轨线(ENE)组成,轨道线的优势在于其不仅具有趋势轨道的研判分析作用,也可以敏锐的觉察股价运行过程中方向的改变。实际上,ENE的本质就是MA均线,ENE直接绘制在K线图上。ENE的出现简化了对MA均线的技术操作。 计算及实现计算公式1.计算公式: UPPER:(1...原创 2018-06-26 09:18:45 · 8968 阅读 · 0 评论 -
K线技术指标实现详解—KDJ
K线技术指标实现详解—KDJ概念介绍KDJ指标又叫随机指标,是一种相当新颖、实用的技术分析指标,它起先用于期货市场的分析,后被广泛用于股市的中短期趋势分析,是期货和股票市场上最常用的技术分析工具。 随机指标KDJ一般是用于股票分析的统计体系,根据统计学原理,通过一个特定的周期(常为9日、9周等)内出现过的最高价、最低价及最后一个计算周期的收盘价及这三者之间的比例关系,来计算最后一个计...原创 2018-06-26 09:17:42 · 11267 阅读 · 0 评论 -
K线技术指标实现详解—MACD
K线技术指标实现详解—MACD概念介绍MACD称为指数平滑移动平均线,是从双指数移动平均线发展而来的,由快的指数移动平均线(通常为EMA12)减去慢的指数移动平均线(通常为EMA26)得到快线DIF;再用DIF的9日指数平滑移动得到慢线DEA;再用2×(快线DIF-加权移动均线DEA)得到MACD柱。MACD的意义和双移动平均线基本相同,即由快、慢均线的离散、聚合表征当前的多空状态和股...原创 2018-06-26 09:16:31 · 24419 阅读 · 0 评论 -
K线技术指标实现详解—MA
K线技术指标实现详解—MA概念介绍简单移动平均线(Moving Average),简称MA,原本的意思是移动平均,由于通常将其制作成线形,所以一般称之为移动平均线,简称均线。它是将某一段时间的收盘价之和除以该周期。 比如日线MA5指5天内的收盘价除以5。他是K线图中最基本的技术指标,直接绘制在K线图上。和K线图比起来,他能反映更加稳定的数量(包括股价、成交量和成交额)的变化趋势。常用的...原创 2018-06-26 09:15:14 · 16289 阅读 · 3 评论 -
Java和JavaScript运算性能对比
Java和JavaScript运算性能对比以下仅展示两段运算代码的运行时间。Jdk版本为1.7.0_07(64位),JavaScript运行环境为Google Chrome60.0.3112.113(64位)。超大规模运算(万亿级)Java代码public static void calc1(){ float value=0; long start = System.原创 2017-08-31 10:48:00 · 27724 阅读 · 3 评论 -
理解前端数据双向绑定原理——Object.defineProperty()
理解前端数据双向绑定原理——Object.defineProperty()Object.definedProperty方法可以在一个对象上直接定义一个新的属性、或修改一个对象已经存在的属性,最终返回这个对象。语法Object.defineProperty(obj, prop, descriptor)参数:obj 被定义或修改属性的对象;prop 要定义或修改的属性名称;descriptor 对翻译 2017-09-15 16:28:48 · 14364 阅读 · 0 评论 -
浅析前端XMLHttpRequest与Java后端的交互
ajax通常会发送get和post两种请求,服务器后台也会通过相关的语法获取请求数据1.getget请求时send()方法中只能传递null作为参数,因为send()方法是将数据作为请求体发送的,而get方法是没有请求体的,因此send中填了数据也无效。要通过get请求来向后台传递数据只能在url的末尾追加查询字符串,第一个串前加"?",多个串之间要用"&"连接。此处要注意查询...原创 2016-12-09 20:10:59 · 7073 阅读 · 0 评论 -
K线技术指标实现—同花顺多空趋势点
K线技术指标实现—同花顺多空趋势点概念介绍当多空趋势发出多点信号时,表示行情看多,可积极做多,多点为最早的买点;当多空趋势发出空点信号时,表示行情看空,可持币观望等待机会,空点为最晚的卖点。 多空趋势的用法: 1、当大盘发出多点时,表示大盘行情看多,可结合板块和个股多空趋势来寻找热点板块中的热点个股积极做多; 2、中短线多空趋势:当个股的日线发出多空点时,可结合30、60分钟线多...原创 2018-06-26 10:19:14 · 25531 阅读 · 3 评论 -
关于script标签,我们应该知道的
一、静态标签1、<script>标签按照它们出现的顺序被执行,不管是script代码块还是script外链,都遵循先出现先执行的原则。这意味着如果你的网站有很慢的脚本在页面较前部分被加载,你的网页加载就会被显著拖慢。这也意味着后加载的脚本可以依赖先加载的脚本;2、页面元素在它之前的所有脚本都加载完毕之前是不会执行渲染的,由此大段script代码可以引起页面加载卡顿;3、当一个 &...原创 2019-02-26 10:22:10 · 1868 阅读 · 0 评论 -
JavaScript中RegExp的exec方法详解
RegExp.prototype.exec()RegExp.prototype.exec()方法在一个指定的字符串中执行模式匹配。如果匹配成功,返回数组;否则返回null。如果程序只是为了判断字符串中是否有匹配模式,请调用RegExp.prototype.test()或String.prototype.search()以提升查询效率。var regex1 = RegExp('foo*','g'...翻译 2019-03-05 17:21:08 · 8465 阅读 · 2 评论 -
JavaScript中String的replace方法详解
String.prototype.replace()replace()方法将一个字符串中被模式匹配的部分替换成新值,并返回这个替换后的新字符串对象。这个模式可以是一个字符串或者一个正则表达式,用于替换的新值可以是一个字符串或一个回调函数,这个回调函数在每次匹配成功时都会调用。如果模式是一个字符串,那只有第一次匹配时才会发生替换。replace()方法将返回一个新的字符串,原来的字符串不会发生任何...翻译 2019-03-13 11:21:26 · 16615 阅读 · 0 评论 -
vue(vue-cli+vue-router)+babel+webpack项目搭建入门(四)上线部署
vue(vue-cli+vue-router)+babel+webpack项目搭建入门<四>本系列文章将介绍基于vue+webpack的前端项目的构建过程。文章分为四章内容,第一章介绍开发环境的部署,第二章介绍项目的构建,第三章以一个登陆-主界面的纯前端为示例进行实战开发,第四章介绍项目打包部署以及部署上线时可能遇到的问题。本系列文章主要介绍项目构建的流程,旨在为不了解现代前端项目开...原创 2019-03-17 09:05:00 · 1023 阅读 · 0 评论 -
vue(vue-cli+vue-router)+babel+webpack项目搭建入门(三)开发实战
vue(vue-cli+vue-router)+babel+webpack项目搭建入门<三>本系列文章将介绍基于vue+webpack的前端项目的构建过程。文章分为四章内容,第一章介绍开发环境的部署,第二章介绍项目的构建,第三章以一个登陆-主界面的纯前端为示例进行实战开发,第四章介绍项目打包部署以及部署上线时可能遇到的问题。本系列文章主要介绍项目构建的流程,旨在为不了解现代前端项目开...原创 2019-03-17 08:51:35 · 910 阅读 · 0 评论 -
vue(vue-cli+vue-router)+babel+webpack项目搭建入门(二)搭建项目
vue(vue-cli+vue-router)+babel+webpack项目搭建入门<二>本系列文章将介绍基于vue+webpack的前端项目的构建过程。文章分为四章内容,第一章介绍开发环境的部署,第二章介绍项目的构建,第三章以一个登陆-主界面的纯前端为示例进行实战开发,第四章介绍项目打包部署以及部署上线时可能遇到的问题。本系列文章主要介绍项目构建的流程,旨在为不了解现代前端项目开...原创 2019-03-17 08:44:09 · 1024 阅读 · 0 评论 -
vue(vue-cli+vue-router)+babel+webpack项目搭建入门(一)开发环境搭建
vue(vue-cli+vue-router)+babel+webpack项目搭建入门<一>本系列文章将介绍基于vue+webpack的前端项目的构建过程。文章分为四章内容,第一章介绍开发环境的部署,第二章介绍项目的构建,第三章以一个登陆-主界面的纯前端为示例进行实战开发,第四章介绍项目打包部署以及部署上线时可能遇到的问题。本系列文章主要介绍项目构建的流程,旨在为不了解现代前端项目开...原创 2019-03-17 08:34:48 · 4083 阅读 · 0 评论 -
JavaScript中String的split方法详解
String.prototype.split()String.prototype.split()方法通过传入的参数符号,将一个字符串对象分割成一个字符串数组,这个传入的参数符号决定着字符串在什么位置进行分割。var str = 'The quick brown fox jumps over the lazy dog.';var words = str.split(' ');console...翻译 2019-03-06 11:06:09 · 7365 阅读 · 0 评论 -
JavaScript中String的match方法详解
String.prototype.match()** String.prototype.match()方法返回通过一个正则表达式匹配到的字符串结果。**var paragraph = 'The quick brown fox jumps over the lazy dog. It barked.';var regex = /[A-Z]/g;var found = paragraph.mat...翻译 2019-03-05 17:30:22 · 12728 阅读 · 0 评论 -
JavaScript中String的search方法详解
String.prototype.search()** String.prototype.search()方法为一个字符串对象执行一次正则表达式搜索。**var paragraph = 'The quick brown fox jumps over the lazy dog. If the dog barked, was it really lazy?';// []表示字符集合,\w表示任...翻译 2019-03-05 17:25:20 · 5248 阅读 · 0 评论 -
JavaScript中RegExp的test方法详解
RegExp.prototype.test()** RegExp.prototype.test()方法为指定正则表达式和指定字符串执行一次匹配,返回true或false。**var regex1 = RegExp('foo*');var regex2 = RegExp('foo*','g');var str1 = 'table football';console.log(regex1....翻译 2019-03-05 17:22:48 · 9822 阅读 · 0 评论 -
CSS3媒体查询
经验不足的前端人员在头几次面对一大堆兼容性问题时往往手足无措,有时候一个样式的兼容性问题我们不需要去这种写一个能匹配所有设备的CSS样式,而是可以完全针对不同特性的设备编写不同的CSS样式。使用Media Query可以编写两套css样式来兼容不同设备。通过识别设备的屏幕长宽范围、设备方向等属性来确定不同的css样式。例如我们可以假设以下样式可以特定针对iphone4手机:@media o原创 2016-12-09 20:06:25 · 827 阅读 · 0 评论 -
详解JavaScript异步编程技术
详解JavaScript异步编程技术基于浏览器的事件轮询机制(以及Node.js中的事件轮询机制),JavaScript常常会运行在异步环境中。由于JavaScript本身语言的特性(不需要程序员操控线程/进程),在js中解决异步化编程的方法就显得相当重要。可以说一个完整的项目中,js开发人员是不可能不面对异步操作的。本文将详细介绍几种经典JavaScript异步编程串行化方法,同时也将简单介绍一下原创 2017-02-08 17:30:12 · 4467 阅读 · 6 评论 -
详解移动端页面细线实现方案
详解移动端页面细线实现方案特别提醒,本文写于2017-1-2,下面案例中出现的各大网站的实现方式随时有可能变化。先说下本文要做什么:解析一些主流的移动端H5虚线方案。见下图:很多注重用户体验的移动端web设计都会使用细线,在PC端也就是简单的一句:border-bottom:1px solid#e0e0e0;在PC端web上只要简单的使用border-bottom属性...原创 2017-01-02 10:36:51 · 7965 阅读 · 0 评论 -
详解JavaScript操作URL的方法(单页应用常用)
详解JavaScript操作URL的方法(单页应用常用)JavaScript拥有许多可以操作浏览器历史记录的方法,不管是普通页面跳转,还是单页应用哈希值变化,我们都会经常与这些方法打交道,尤其在单页应用中这些方法几乎是页面路由的核心方法。本文将详细讨论这些方法。1.document.locationlocation是最有用的BOM对象之一,它提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功原创 2017-02-05 17:34:30 · 5828 阅读 · 0 评论 -
详解JavaScript函数柯里化
详解JavaScript函数柯里化百度百科对柯里化的解释:在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。这个技术由 Christopher Strachey 以逻辑学家 Haskell Curry 命名的,尽管它是 Moses Schnfinkel 和 Gottlob Frege原创 2017-02-05 17:38:00 · 5396 阅读 · 0 评论 -
详解JavaScript函数节流
详解JavaScript函数节流浏览器一个网页的UI线程只有一个,他同时会处理界面的渲染和页面JavaScript代码的执行(简单扩展一下,浏览器或者JavaScript运行大环境并不是单线程,诸如ajax异步回调、hybrid框架内与native通信、事件队列、CSS运行线程等等都属于多线程环境,不过ES6引入了Promise类来减少了部分异步情况)。因此当JavaScript代码运行计算量...原创 2016-12-12 10:52:53 · 999 阅读 · 0 评论 -
正则表达式学习笔记(全)
确实想简单学习一下正则表达式的同学们,在此也不建议大家到处去网上找什么乱七八糟的文章看,毛毛躁躁的也没法记住正则表达式。快速学习正则推荐《正则表达式必知必会》Ben Forta著,很小的一本书,两三天就能看完,看完之后对着我这儿的笔记就能轻松应付常规工作。(1)匹配单个字符要匹配“Bob”直接使用“Bob”即可。“.”可以匹配任何一个单个的字符(包括“.”本身)。限定只匹配“.”时使用转义...原创 2016-12-09 20:26:41 · 4603 阅读 · 0 评论 -
Fiddler代理本地文件来简化查错机制
通常软件不会简单的部署在一两个几乎相同的环境下,开发完直接上生产。通常都会经历开发环境(SDE)-->测试环境(SIT)-->用户体验测试环境(UAT)-->最后才是生产环境。通常随着环境不断接近生产环境,出现的问题和缺陷将越来越难排查和修复。那么前端工程师在面临一个UAT环境或者生产环境出现的问题时该如何调试程序呢?有两种方法:代理服务器替换文件和程序自适应环境。后者(简单介绍...原创 2016-12-13 15:41:47 · 1916 阅读 · 0 评论 -
CSS文字垂直居中
嗯,内容很少,主要是不太了解CSS的同学可能会找一大堆资料,只为了设置一个垂直居中,最后发现怎么就是找不到啊,好气对不对。这里告诉你答案。1.line-height是行高, line-height用来定义当前元素,只作用于文字,不作用于图片.它具有继承性,设置了line-height之后,文字就会垂直居中。2.height是高,通常height是对于某个框架或者图片来弄的,只设置heigh原创 2016-12-09 20:20:32 · 4633 阅读 · 0 评论 -
浅析CORS跨域请求
Cross-Origin Resource Sharing(简称CORS),是W3C制定的网络跨域资源请求的一个“正式”技术。网上相关介绍有很多,但是基本上都停留于理论层面。当你很想知道具体怎么实现一个CORS的时候很难一下子找到靠谱的参考资料。那么这里简单介绍一下前后端CORS的实现机制。对于前端(JavaScript)而言,做一个CORS和普通ajax请求并没有什么区别(前提是浏览器平台支...原创 2016-12-22 09:47:04 · 5113 阅读 · 0 评论 -
JavaScript打破作用域的牢笼
JavaScript打破作用域的牢笼JavaScript作为一种松散型语言,有着很多令人瞠目结舌的特性(往往是一些令人捉摸不透的奇怪特性),本文我们将介绍如何使用JavaScript的一些特性来打破常规编程语言“作用域的牢笼”。1.JavaScript声明提升很多人应该知道,js有变量声明提升、函数声明提升的特性。不管你之前是否了解,看下面的代码运行的结果是否符合你的预期:va原创 2017-01-25 11:20:57 · 606 阅读 · 0 评论 -
JavaScript版本号对比
JavaScript版本号对比之前项目中遇到要根据不同版本号来执行不同代码,想走捷径,结果一堆坑啊,各种比较错误。网上js写的相关代码好像不太搜得到,就在这里分享一下自己的代码。通常版本号如:1.3.20.8,6.82.20160101等,复杂情况一般会形如比对(1.2.0,1.1.5),(1.2.4,1.1.5),(1.0.8,1.1.5),(3.0,1.1.5),(1.1.5.4,1....原创 2016-12-09 20:33:23 · 16199 阅读 · 2 评论 -
前端页面弹框遮罩禁止页面滚动
前端页面弹框遮罩禁止页面滚动前端开发经常会遇到的一个问题就是制作一个弹框来向用户提示信息,在这个弹框弹出的同时,往往会伴有一个灰色的遮罩层挡住页面内容,同时整个页面被这层遮罩盖住,不可点击也不可滚动。 要制作这个效果在PC端非常简单,只需要设置html的高度为100%占满屏幕,并且将html的overflow设置为hidden,即可保证页面不可滚动。 但是同样的问题在移动端情况就有所区别。仅原创 2017-07-03 09:53:15 · 67896 阅读 · 13 评论 -
浅析浏览器渲染页面过程
1.解析HTML文件,创建DOM树自上而下,遇到任何样式(link、style)与脚本(script)都会阻塞(外部样式不阻塞后续外部脚本的加载)。2.解析CSS优先级:浏览器默认设置<用户设置<外部样式<内联样式<HTML中的style样式;特定级:id数*100+类或伪类数*10+tag名称*13.将CSS与DOM合并,构建渲染树(rendering...原创 2016-12-12 12:06:33 · 3628 阅读 · 2 评论 -
阻止微信浏览器/QQ浏览器弹框“在浏览器打开”
阻止微信浏览器/QQ浏览器弹框“在浏览器打开”相信许多移动端工程师对下面这张图中出现的东西记忆深刻: 微信浏览器和QQ浏览器有个自带的特殊功能,就是长按会出现上图所示的弹框。有时候前端页面中有长按事件时,总是会触发这个弹框而影响我们自己开发的功能。那么该如何屏蔽这个弹框呢? 很简单,这个弹框实际上等同于PC环境下的鼠标右键的弹框,因此只要禁止页面的弹框事件就能完美屏蔽该弹框对我们功能带来的影原创 2017-04-20 15:02:47 · 8053 阅读 · 0 评论 -
贝赛尔曲线及其应用全面解析
贝赛尔曲线及其应用全面解析1.概念贝塞尔曲线(Bezier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。一般的矢量图形软件通过它来精确画出曲线,一条贝塞尔曲线由路径点和控制点确定,控制点是可拖动的支点,线段像可伸缩的皮筋,我们在绘图工具上看到的钢笔工具就是来做这种矢量曲线的。贝塞尔曲线是计算机图形学中相当重要的参数曲线,在一些比较成熟的位图软件中也有贝塞尔曲线工具,如原创 2017-03-23 11:44:49 · 7756 阅读 · 1 评论 -
HTML5-canvas擦除无效
HTML5-canvas擦除无效部分安卓手机上会出现canvas内图表重叠,并且清除无效,属于偶现缺陷,非常难以确定其产生原因,比如下图这个样子,第一次绘制的图形没有擦除,导致第二次绘制时出现重影:初步考虑为设备自身问题,引起canvasAPI的context.clearRect执行无效。在经过一些尝试之后,发现在每次擦除(clearRect)之前先将画布dom元素移除,在内存中...原创 2017-01-12 11:51:09 · 8139 阅读 · 1 评论 -
如何监听页面就绪(早于windowonload)
原文地址:http://www.javascriptkit.com/dhtmltutors/domready.shtml在DOM树就绪时就启动页面执行JavaScript(而不是使用window.onload)如下的例子展示了一个js语法中最常用的检查页面是否加载完毕的事件:window.onload=function(){ walkmydog();}...翻译 2017-01-09 19:34:49 · 3870 阅读 · 0 评论