closertb.github.io icon indicating copy to clipboard operation
closertb.github.io copied to clipboard

浏览issue 或 我的网站,即可查看我的所有博客

Results 96 closertb.github.io issues
Sort by recently updated
recently updated
newest added

写于:2018-03-12 想读懂世间所有的那些变态正则表达式?做梦,年纪轻轻,想啥呢,尽自己最大努力学就行 ## 引子 ## JS学了用了也快一两年了,对象啥的找到了也会用了,继承啥的也入门了,但看别人的框架代码,总是会随时卡壳,有一个重大的原因,就是那看不懂的一串串火星文字(正则表达式),学习吗,就是查缺补漏,不怕你不懂,就怕你觉得自己全懂了。说正事之前,先推荐一款软件:RegexBuddy,无论是做正则的测试还是过程的研究,都是一款利器。 ## 知识汇总 ## [语法复习][1],重点三块知识: 1. 贪婪匹配(? 0=

写于:2017-07-09 ## 起 今天看到关于[阿里前端面试的提问][1],看到有一个兄弟说,阿里应该都用fecth了,怎么还在考ajax的底层实现,虽然以前[读ajax已死,fetch永生][2]文章时有了解这个知识,但闲着也是闲着,还是探索一下,才知道他好在那。 老规矩,看官方正式一点的文章,我还是推荐[MDN的][3],读完个人理解,对比ajax,fetch的优势就是: - 语义化强,调用如ajax第三方库一样简洁; - 支持promise; ## 干活 来看一个简单的调用: ```javascript fetch('http://localhost:8089/StockAnalyse/BlogServlet', fetchInitOption({flag:"getList"})) .then(function(response){ if(response.ok){ //避免404与500这样的响应 return response.json(); } else { console.error('服务器繁忙,请稍后再试;\r\nCode:' + response.status) } }).then(function(data){ that.item =data;//在promise中this指向已经变为指向window对象,所以提前用that保存了this;...

写于:2017-07-10 ## 启 关于gulp,grunt,webpack,刚走前端模块化的我,真的是傻傻分不清楚,幸好有大神各种答疑解惑,使我略知一二,[你也想知道的][1],也许还想知道点啥,资源罗列: 1. [中文官方文档][2]; 2. [阮老师的gulp入门][3]; 3. [我的参考][4]; 本次开发,受尤大神知乎上的回答提示,没有采用vue-cli直接入手vue框架,而是采用vue全家桶+requireJs+gulp着手自己的前端构建,gulp为自己第一次使用,所以写下此文,算是对自己成长的一次记录。关于gulp,首先你得知道npm,node这些常识,其次官方的API应该细度加实践一下,其四个基本操作:gulp.task、gulp.src、gulp.dest、gulp.watch四个基本方法,需用知道是干什么的,该怎么用。gulp有什么用?文章将基于以下4条逐一展开讲: 1. 搭建web服务器 2. 优化资源,比如压缩CSS、JavaScript、压缩图片; 3. 使用预处理器LESS,jade,JSX需要编译发布; 4. 文件保存时自动重载浏览器; ## 先打地基 [gulp官网][1]的API用了寥寥几个字,写完了四个基本方法的调用,但task占了二分之一,足以见得他的重要,所以得好好研究。 当定义一个任务时,你可以定义它的前置任务,可以是一个列表,这个列表会以最大的并发数执行,待这个前置任务列表中所有任务执行完后,才会执行当前任务,但是这个列表中的所有任务都必须使用正确的异步执行方式。使用一个 callback,或者返回一个 promise 或 stream。熟读API项中的**注意项**: 默认的,task 将以最大的并发数执行,也就是说,gulp 会一次性运行所有的...

写于:2017-6-29 ## 引子 ## 自从从JAVA伪全栈转前端以来,学习的路上就充满了荆棘(奇葩问题),而涉及前后端分离这个问题,对cors的应用不断增多,暴露出的问题也接踵而至。 这两天动手实践基于Token的WEB后台认证机制,看过诸多理论([较好一篇][1]推荐),正所谓虑一千次,不如去做一次。 犹豫一万次,不如实践一次,所以就有了下文,关于token的生成,另外一篇文章会细讲,本篇主要讨论在发送ajax请求,头部带上自定义token验证验证,暴露出的跨域问题。 ## 问题描述 ## 话不多说,先上代码: ```javascript // 前端(ajax库:vue-resource) userLogin:function(){ this.$http({ method:'post', url:'http://localhost:8089/StockAnalyse/LoginServlet', params:{ flag:'ajaxlogin', loginName:this.userInfo.id,loginPwd:this.userInfo.psd }, headers: {'Content-Type': 'application/x-www-form-urlencoded'}, credientials:false, emulateJSON: true }).then(function(response){ sessionStorage.setItem('token',response.data);...

写于:2017-06-08 ## 起 最近一道面试试题非常火热,堪称面试界网红: ```javascript function test(){ for (var i=0; i

写于:2017-04-17 ![image](https://user-images.githubusercontent.com/22979584/66050388-b7cf9800-e55f-11e9-823b-dde65338c278.png) 当我们新建一个网站时,总是要做一个导航列表,在传统的WEB开发中这已经是一种很成熟的技术,自己学VUE,看了官方文档,加上自己摸索,也学到不少,现在拿来分享一下。在自己VUE入门学习的笔记中也有提及 - 第一种:JQUERY中我们通常采用: $('li[class='active']').removeClass('active'); //将当前选中的项目解除被选中的样式; $(selector).addClass('active');//为选中的条目添加被选中的样式; 非常简便,需要npm install jquery,并在baseConfig中配置。但学VUE,还是用其本身的Class 与 Style 绑定最好。 - 第二种:VUE中没有选择器,但对于CSS属性支持状态关联操作(Class 与 Style 绑定): eg:v-bind:class='{ active: isActive }' 解读:当isActive值为真时,active样式有效,Dom渲染结果是:class=“active” 当为false时,active样式无效,Dom渲染结果是:class=“” 因此我们可以利用这个属性做文章 标签HTML: ```html ``` 这条语句我们生成了一个列表,并为其绑定了一个选中事件,为class动态绑定了一个判断事件...