JavaScript

Vue-Cleave - 在Vue中使用CleaveJS格式化你的输入内容

项目地址:https://github.com/jrainlau/vue-cleaveWhat's CleaveJS?CleaveJS是最近github上的一个热门项目,在短短的一个多月中star数达到了2500+,且保持着强劲的上升势头。它的主要目的是Format input text content when you are typing格式化你的输入内容可以查看官方的

一步步编写avalon组件03:切换卡组件

经过几个星期的升级, 我终于又腾出空来继续这个教程.本章主要是讲解avalon的插槽元素的使用,并且应用更强大的webpack.config。webpack 真是好强大,好灵活,我也是从社区那里学到这些新招数的!本章讲授的主体是切换卡,也就是tabs。切换卡的原理很好简单,就是存在一个点击区与一个显示区。点击区我们通常称之为buttons或triggers,显示区我们称之为

Canvas入门-利用Canvas画国旗

在这之前需要你懂得以下方法的使用:beginPath()moveTo()lineTo()closePath()具体用法可以参考我的上一篇文章 canvas入门-利用canvas制作一个七巧板矩形的绘制canvas提供了三种绘制矩形的方法:fillRect(x, y, width, height)绘制一个填充的矩形strokeRect(x, y, width, height)

atom使用全局配置ESLint

ESLint是一个Javascript静态检查工具,它可以帮你养成良好的编程习惯,使你的javascript代码达到国际化的水准。ESLint是所有Javascrpt静态检查工具里最晚诞生的一个,之前还曾经有过JSLint以及JSHint等工具,但JSLint和JSHint都是用的一套标准,在目前这个前端技术飞速发展的时代已经显得有点落伍。ESLint的好处是既提供了国际大

自话蚁群算法(带简单模拟实验)

原文地址:http://breezedust.com/2016/07/10/zi-hua-yi-qun-suan-fa-jian-dan-mo-ni-shi-li/这算是填3年前的一个坑吧,已经懒癌晚期了,想必也还是要挣扎下,那今天先从蚁群算法这个坑说起,如果你是要寻找怎么优化蚁群算法,可以直接跳过本文,如果你还不了解什么是蚁群算法,或许本文能够提起你的兴趣。 如果你同

thinkphp,外部JS如何获取模板绑定的变量值

我是一只前端,最近初学thinkphp,刚遇到一个问题,觉得值得分享一下。欢迎吐槽 ~场景是这样的:我要用JS调用Controller里面的某个方法获取json数据,我便使用thinkphp的U方法,发现一直报错。首先,我们先弄清楚thinkphp的U方法。thinkphp函数详解-U方法代码是这样的://common.js里ajax获取远程数据remote: '{:U(\

Redu 登录状态判断的一些实践

最近一直在写一个React、Redux的前端项目,登录状态验证这一块还是比较头疼的。我的实践下有三种方式来验证用户登录状态,目前我选择用三种方式一起用在项目里面。Redux高阶函数验证(High-Order Function)Actions中间件验证Component WillMount 验证之所以用三种方式一起是因为Redux高阶函数在性能调优的时候并不是特别容易。Red

《每周一点canvas动画》——桌球运动(1)

每周一点canvas动画代码文件一本好的技术书籍往往都是由浅入深,本系列文章基本上也遵循这个原理。在上一章中我们介绍了高级的坐标旋转,并且通过它,我们实现了任意角度的碰撞反弹效果,它让物体与非水平和非垂直的面产生合乎情理的碰撞成为了可能。那么在本章我们继续深入的介绍另一个问题——物体与物体发生碰撞后应该如何处理?也许你会说,在前面的章节中我们不是已经介绍过物体与物体之间的碰

【福利】那些年我总结的Web开发者成长路线

从实习后的那些年里,我就开始经常总结一下自己的学习路线,成长路线等等。今天,就重新把这些资料再放出来啦啦。当然,这些资料也都是在我的GitHub上有的啦。Developer成长路线图最开始的时间,我并没有想到这张大图可以如此的受欢迎。在最开始的时候,我只想整理一下,我学习了什么东西、觉得什么东西不错。。GitHub: https://github.com/phodal/de

URLSearchParams 接口

URLSearchParams 接口定义了很多个用来处理 URL 参数串的方法。基本使用方法如下var paramsString = "q=URLUtils.searchParams&topic=api" // location.search.slice(1)var searchParams = new URLSearchParams(paramsString);sear