
JavaScript
文章平均质量分 94
夕阳枫
不积跬步,无以至千里;不积小流,无以成江海
展开
-
靜下心来--重温正则表达式(二)
这篇文章中,重点介绍下针对位置的匹配:断言匹配,以及正则版本的匹配原理:回溯法,最后介绍一些正则表达式的优化。原创 2022-06-16 19:29:57 · 613 阅读 · 0 评论 -
靜下心来--重温正则表达式(一)
关于正则表达式,大家都要这样的经历:看完之后觉得懂了,但是过一段时间就忘记,自己写的时候更是到处查资料。鉴于这种情况,总结了自己关于正则表达式的学习心得,以供大家参考。本文将从正则表达式的基础概念讲起,紧接着总结跟正则表达式相关的一些常用方法,以及正则表达式的匹配方式。1、基础概念 正则表达式(Regular Expression)是一种用来描述规则的表达式,其目的是为了根据特定的规则对字符串匹配,从而实现替换和搜索的功能。正则表达式的匹配其实不外乎两种:匹配字符(匹配内容)和匹配位置(断言匹配原创 2022-04-29 10:55:33 · 748 阅读 · 0 评论 -
波兰表达式 & 逆波兰表达式
1、概述1.1、什么是波兰表达式先来看看维基百科对于波兰表达式和逆波兰表单的解释:波兰表示法(Polish notation,或波兰记法),是一种逻辑、算术和代数表示方法,其特点是操作符置于操作数的前面,因此也称做前缀表示法。如果操作符的元数(arity)是固定的,则语法上不需要括号仍然能被无歧义地解析。逆波兰表示法(Reverse Polish notation,RPN,或逆波兰记法),是一种是由波兰数学家扬·武卡谢维奇1920年引入的数学表达式形式,在逆波兰记法中,所有操作符置于操作数的后原创 2021-06-28 19:12:23 · 31689 阅读 · 0 评论 -
Vuex源码分析
1、Vuex 简介及使用1.1 Vuex 简介Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 Vuex 主要由 state、getter、mutation、action 几个部分组成,形成了一个单一状态树 store,对于复杂的业务可以将 store 分隔成模块,每个模块拥有自己的 state、mutation、action、getter、甚至是嵌套子模块。state原创 2020-11-17 14:42:17 · 358 阅读 · 0 评论 -
前端项目接入埋点系统的优化
1、基本概述 根据产品的需求,会针对一些页面做PV/UV的统计。埋点的实质就是向埋点服务器发送请求,埋点服务器埋点的数据做统计。正常情况下,我们需要在埋点的页面里添加埋点代码。而埋点的代码与实际的业务代码,是没有任何关系,往往会造成大量恶心的代码掺杂在业务代码中。 埋点接入时,首先通过script标签,引入埋点的js文件,具体参考对应的埋点系统的api文档。针对具体的场景加入埋单代码,...原创 2019-11-08 11:05:48 · 1041 阅读 · 0 评论 -
基于vue-cli搭建的vue web脚手架
基于vue-cli搭建的vue web脚手架,基本上能否满足一般的业务开发。技术栈 vue + es6 + vue-router + vuex + axios + jsonp + mock代码功能 代码结构:- **components**:主要用于全局组件的封装,通过./index对外暴露,并在入口文件index中实现全局注册;- **fliter**:主...原创 2018-09-03 16:41:09 · 309 阅读 · 0 评论 -
基于Umi搭建的个人Dva脚手架(一) - 框架说明
1、基本概念阐述 阅读本文前,你需要对react、dva、umi以及ant design的有一定的认识,具体的相关知识都可以参考官方文档。 Umi,中文可发音为乌米,是一个可插拔的企业级 react 应用框架,是蚂蚁金服的底层前端框架。具体的可参考官方文档:https://umijs.org/zh/guide/ , 本质上来讲Umi是一个react的框架。 Dva,也是有蚂蚁金服推出的...原创 2019-03-07 11:56:08 · 2618 阅读 · 1 评论 -
基于Umi搭建的个人Dva脚手架(二) - HTTP请求的封装
1、基本概述 基于前后端分离的开发模式下,前端通过HTTP请求接口数据是前后端连接的纽带。HTTP协议中规定了GET、POST、PUT、DELETE等请求方式,在通常的业务开发中,最常用的请求方式是GET、POST。被我们熟知的是GET的参数会携带在URL上,POST请求的参数跟随HTTP请求的body传递,关于GET请求和POST的区别,可以自行研究。 在实际开发过程中,HTTP的Hea...原创 2019-03-11 17:02:11 · 1501 阅读 · 0 评论 -
基于Umi搭建的个人Dva脚手架(三) - 多Layout设计
1、基本概述 在项目开发过程中,通常的企业后台系统会包含头部(Header)、侧边栏(Sider),主体内容(Content)以及底部(Footer)。通常情况下我们会在Layout文件中布局,并对头部、侧边栏、底部封装成对应的组件,而针对主体内容部分,通过路由来控制显示不同的内容。 但是也存在一些页面不需要按照上边的布局方式来展示,例如登录、注册,或者其他类似的页面。 针对上述...原创 2019-03-18 11:14:39 · 2228 阅读 · 0 评论 -
基于Umi搭建的个人Dva脚手架(四) - 可配置的表单组件封装
1、基本概述 项目开发过程中,表单组件是最常用的组件之一,应用场景也多见于列表搜索、简单的新增和编辑弹窗、复杂的新增和编辑页面。Ant design的组件库中Form表单也提供了对应的API可供开发使用,极大的提高的开发速度。 在单独的页面里,我们通常引入Form组件及其对应的表单项组件(例如Input、Select、Checkbox等等)。由于通过Form.create()去处理当前组件...原创 2019-04-08 17:46:16 · 1063 阅读 · 0 评论 -
Node.js爬虫个人博客,并利用Bat自动浏览
通过node.js对个人优快云博客爬虫,获取个人博客列表,并将改列表内容注入到Bat批处理文件中,实现浏览器自动打开预览。1、安装依赖 npm 安装依赖包request、cheerio — request模块是用来请求网页的 — cherrio是用来分析dom结构的(Nodejs版本的jquery)2、爬虫获取个人优快云博客列表var cheeri...原创 2018-07-03 15:31:24 · 767 阅读 · 0 评论 -
JS 常见排序算法
JS 常见排序算法原创 2017-10-25 17:48:19 · 324 阅读 · 0 评论 -
JS SOP 编程
JS AOP 编程原创 2017-10-25 17:41:25 · 581 阅读 · 0 评论 -
【转】图解javascript this指向什么?
其中JavaScript 中的this 关键字,就是一个比较容易混乱的概念,在不同的场景下,this会化身不同的对象。有一种观点认为,只有正确掌握了 JavaScript 中的this关键字,才算是迈入了JavaScript这门语言的门槛。在主流的面向对象的语言中(例如Java,C#等),this 含义是明确且具体的,即指向当前对象。一般在编译期绑定。而 JavaScript 中this 在运行期进行绑定的,这是JavaScript 中this 关键字具备多重含义的本质原因。转载 2016-05-19 11:36:17 · 389 阅读 · 0 评论 -
js原型链
Js 原型对象与原型链(转)原文出处 原创作者:abruzzi原文图文并茂,很好的说明了原型链的原理,在这里感谢原文作者把文章写的那么通俗易懂。原型对象 每个javascript对象都有一个原型对象,这个对象在不同的解释器下的实现不同。比如在firefox下,每个对象都有一个隐藏的__proto__属性,这个属性就是“原型对象”的引用。原型链 由于原型对象本转载 2016-05-18 21:00:52 · 346 阅读 · 0 评论 -
file类型的输入框,样式不可修改的解决方法
1、问题描述 html中file类型的输入框,在上传文件中经常被用到,但是IE浏览器、火狐、chrome中显示的效果不一样,并且还不可以用css样式表的形式更改对应的样式,在设计是,就会存一些问题。 IE中显示: FF中显示: 2、解原创 2016-06-20 14:16:10 · 6078 阅读 · 1 评论 -
前端构建工具gulpjs的使用介绍及技巧
转载地址:http://www.cnblogs.com/2050/p/4198792.htmlgulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学习起来很容易,而且gulpjs使用的是nodejs中stream来读取和操作数据,其速度更快。如果你还没有使用过前端构建工具,或者觉得gruntjs太难用的话,那就尝试一下gulp吧。转载 2016-08-01 10:20:29 · 397 阅读 · 0 评论 -
Highcharts 学习总结
最近公司项目需要,需要在web页面做一些数据统计,并以折线图的形式展现在前台。选择Highcharts,当然还有其他优秀的表格插件,百度团队开发Echarts,也是很不错的,进入正题。1、highcharts 下载 (1) highcharts官网地址:http://www.highcharts.com/products/highcharts/ 或者也在http://www.hc原创 2016-08-06 10:49:28 · 684 阅读 · 0 评论 -
JavaScript高级程序设计学习
1.等于与不全等的区别1.1、等于(==):比较两个值是否相等,如果两个值类型不一致,会做强制转换;1.2、全等(===):比较两个值是否相等,但是不会对值得类型做转换。 55 == "55" //返回true,字符串“55”会被转换成数值55; 55 === "55" //返回false,不会做类型转换; 建原创 2016-08-23 16:31:36 · 346 阅读 · 0 评论 -
Freemarker和jquery tmpl模板同时引用是冲突解决
Freemarker中获取变量采用${ }的形式,在html渲染之前会对$ { }进行操作。jquery.tmpl.js是一种jquery的模板插件,也会用到${ }的形式,同时使用的过程中会产生冲突,解决方法:方法1 :将jquery-tmpl的模版放在指令中。这样在freemarker执行过程会,就不会对模板中的部分进行操作;#noparse>script id="lis原创 2016-10-27 10:57:11 · 3259 阅读 · 0 评论 -
详解forin,Object.keys和Object.getOwnPropertyNames的区别
转载:http://www.cnblogs.com/37sky/articles/5324105.html这三个方法,都可以用来遍历对象,这非常有用,其中后两个都是es5中新增的方法。本文会用到一些es5的对象知识,如果你不了解,可以看一下开头提到的文章,首先我们需要一个父对象。var parent = Object.create(Object.prototype, {转载 2017-06-27 15:42:36 · 644 阅读 · 0 评论 -
IE8 兼容性问题总结
*IE8 兼容性问题总结* 最近公司的项目要求兼容ie,因为客户需求需要兼容到ie8,接手项目时,技术架构已经形成 :webpack + gulp+ es6 +jquery 。在兼容ie8过程,遇到过一些问题,总结如下。原创 2017-10-25 17:19:12 · 6916 阅读 · 0 评论 -
json字符串与json对象的相互转换
1、json字符串转换成json对象:举个栗子:var str = '{"name":"anderson","age":"20","sex":"male"}';var jsonObj = JSON.parse(str);console.log(jsonObj);console.log(typeof jsonObj);运行之后,结果如下:{ name: 'anderso原创 2016-05-19 21:12:43 · 434 阅读 · 0 评论