#
vue2.x遇到的问题总结

vue2.x中单选框单击事件延迟问题前一阵子发现@click存在延迟问题,今天又碰到了发现又没有,所以仔细对比了一下。 由于项目中单选框的样式是由label实现的,真实的input隐藏起来了: <template v-for="(item, i) in dimensions" > <label class="checkbox-inline" :for="'dimensi... 阅读全文

@2017-08-15 JavaScript 浏览(3798)
#
第二代居民身份证号码含义详解

含义第二代身份证号码共18位,其中: 1-6位:表示户口所在县(市、旗、区)的行政区划代码,也就是说如果是同一个县的人,那么身份证前6位肯定都一样;7-14位:表示出身日期,共8位,遵循yyyyMMdd格式;15-17位:顺序码,具体是随机分配还是按照出身年月有序分配不清楚,第17位为奇数表示男性,偶数表示女性;18位:校验码,根据一个固定规则由前17位数字计算得来; 下面着重介绍校验码。... 阅读全文

@2017-03-16 JavaScript 浏览(10595)
#
HTML5 fetch API

介绍fetch是传统XMLHttpRequest(也就是常说的ajax)的替代者,相比后者,它更简单,并且内置对Promise的支持。 但其实话说回来,我至今没太搞明白它的更多优点,因为说它使用简单好像体现不出优势,因为我们平时都是使用ajax框架的(比如jQuery),很少会直接使用原生XMLHttpRequest,而且用了它的话还要担心兼容性的问题。 语法语法很简单:fetch(url, ... 阅读全文

@2017-03-08 JavaScript 浏览(7966)
#
Mock.js使用小结

介绍mockjs是一个模拟后台接口的JS库,它的原理是重写了XMLHttpRequest,它可以在接口没出来时非常方便的模拟数据,上线之后不引用它即可。 官网:http://mockjs.com/文档:https://github.com/nuysoft/Mock/wiki 基本语法Mock.mock(template)根据数据模板直接返回数据,以下代码可访问 http://mockjs.... 阅读全文

@2017-02-23 JavaScript 浏览(10415)
#
JS弹出下载对话框以及实现常见文件类型的下载

写在前面JS要实现下载功能,一般都是这么几个过程:生成下载的URL,动态创建一个A标签,并将其href指向生成的URL,然后触发A标签的单击事件,这样就会弹出下载对话框,从而实现了一个下载的功能。 这里所说的下载,有时候也可以理解为保存。出于安全考虑,JS肯定无法直接调用FileAPI写文件到磁盘,但是却可以通过下载来变相实现保存功能。 几个备用知识点JS触发单击事件既然是用A标签模拟,那么肯... 阅读全文

@2017-02-16 JavaScript 浏览(27953)
#
为何所有人都说JavaScript中不推荐使用eval

前言估计稍微接触过前端的人都知道eval不推荐使用,但是有没有想过到底是哪些原因不推荐使用呢? 缺点分析 可读性差;性能差;不易维护、不易调试、不易优化;安全问题,它会执行任意传给它的代码,在代码字符串未知或者是来自一个不信任的源时,绝对不要使用 eval,比如说稍不注意容易引起XSS攻击;作用域问题; 当然性能差是相对的,现代浏览器中其实eval的性能很多时候还是比较好的,比如eval一个... 阅读全文

@2016-11-30 JavaScript 浏览(5476)
#
[精品] JavaScript常见原生DOM操作API总结

几种对象NodeNodeListHTMLCollection节点查找API节点创建APIcreateElementcreateTextNodecloneNodecreateDocumentFragment节点修改APIappendChildinsertBeforeremoveChildreplaceChild节点关系API父关系API子关系API兄弟关系型API元素属性型APIsetAttribu... 阅读全文

@2016-11-20 JavaScript 浏览(8125)
#
JavaScript中的new和instanceof操作符

newJavascript中的new运算符是用来实例化一个类,从而在内存中分配一个实例对象。 在javascript中, 通过new可以产生原对象的一个实例对象,而这个实例对象继承了原对象的属性和方法。因此,new存在的意义在于它实现了javascript中的继承,而不仅仅是实例化了一个对象! 一个模拟new实现过程的代码如下(注意仅仅是模拟其实现过程,并不能替代new!): fun... 阅读全文

@2016-11-16 JavaScript 浏览(3227)
#
JavaScript原生事件相关知识点总结

事件的三个阶段捕获阶段 -> 目标阶段 -> 冒泡阶段,IE低版本不支持捕获阶段。addEventListener的第三个参数useCapture就是表示是否在捕获阶段触发,默认false。 事件的绑定和解绑一般有3种写法。 属性方式此方式不推荐。如,直接在div上面写onclick: <input type="button" value="测试" onclick="t... 阅读全文

@2016-11-12 JavaScript 浏览(4082)
#
大整数的加减法运算(JavaScript版)

加法原理很简单,就是从右往左遍历相加,有进位的就把左边的数加1: /** * 大整数加法,不考虑小数和负数 */function add(a, b){ a = a.split(''); b = b.split(''); let carry = 0, result = ''; // 这里一定不要忘了加上“ || carry”,否则最后面一个进位会被漏掉 while... 阅读全文

@2016-11-08 JavaScript 浏览(7713)
#
ECMAScript6简明学习笔记(待完善)

前言阮一峰的《ECMAScript 6入门》太过详细了,全部看完需要花很长时间,所以,本文只是前者的一个超级精简版。 ES6简介ECMAScript6.0,简称ES6,又叫ES2015,是JavaScript语言的下一代标准,对JavaScript语法进行了比较大的修改。 对于不支持ES6的浏览器可以将ES6代码用转换工具转换成ES5语法。 ECMAScript是JavaScript的标准,... 阅读全文

@2016-10-31 JavaScript 浏览(2840)
#
JS获取剪贴板图片之后的格式与压缩问题

前言某年某月的某一天,突然发现博客服务器上上传的图片都比较大,一些很小的截图都有几百kb,本来服务器带宽就慢,不优化一下说不过去。 问题细述特别说明:本文代码因为只是用于我自己后台写markdown上传图片,运行环境只考虑PC,所以没有考虑任何兼容性,推荐Chrome下使用。 以下面一张图片为例: 原始图片为85kb,jpg格式的,上传之后就变成png格式了,而且变成了560kb!实在是... 阅读全文

@2016-10-23 JavaScript 浏览(3760)
#
JS自定义事件

原文发表于:20160423 兼容性较好的方法先看一个例子: var event = document.createEvent("CustomEvent");event.initCustomEvent("myevent", true, true, {a:1, b:2});document.addEventListener("myevent", function(e){ console.l... 阅读全文

@2016-10-20 JavaScript 浏览(4571)
#
jQuery.width()和jQuery.css('width')的区别

原文发表于:20160316 问题描述使用jQuery修改一个div的宽度时,发现$($0).width('10rem')总是修改成不正确的值,然后使用$($0).css('width', '10rem')时却能正确,简单得查阅了下jQuery文档,发现文档里面对$.fn.width的描述是: val为空时是取得第一个匹配元素当前计算的宽度值(px),val不为空时是设置宽度,可以是字符串... 阅读全文

@2016-10-20 JavaScript 浏览(3351)
#
Promise简单学习

Promise用法介绍ES6中内置了Promise,非ES6下也有很多第三方实现。Promise是JS中异步编程的一种解决方案,主要是为了解决异步回调深渊。 我喜欢偷懒,懒得介绍杂七杂八等等,直接上代码。 最基本用法先来看个例子: // 用setTimeout模拟简单的ajax,num传参来人为模拟成功或者失败,大于10表示成功function ajax(num) { return n... 阅读全文

@2016-10-09 JavaScript 浏览(2767)
#
【经典面试题】JavaScript数组去重

题目已知有如下一个数组,要求实现一个去重方法: var arr = ['aa', 'bb', 'cc', '', 1, 0, '1', 1, 'bb', null, undefined, null]; 既然是面试题,肯定要考虑兼容性和效率。 几种实现第一种实现这是最容易想到的方法: function unique1(array){ var result = []; for(va... 阅读全文

@2016-09-28 JavaScript 浏览(3575)
#
[精品] 【干货】JS版汉字与拼音互转终极方案,附简单的JS拼音输入法

前言网上关于JS实现汉字和拼音互转的文章很多,但是比较杂乱,都是互相抄来抄去,而且有的不支持多音字,有的不支持声调,有的字典文件太大,还比如有时候我仅仅是需要获取汉字拼音首字母却要引入200kb的字典文件,无法根据实际需要满足需求。 综上,我精心整理并修改了网上几种常见的字典文件并简单封装了一下可以直接拿来用的工具库。 这篇文章差不多一个月前就写好了大部分了,但是就差拼音输入法这一块一直没... 阅读全文

@2016-09-27 JavaScript 浏览(32827)
#
JavaScript中call和apply的区别

区别二者的作用都是在指定this值和参数的情况下调用某个函数,它们 唯一区别 就是参数指定的形式不一样,call接收的是参数列表,apply接收的是数组。 语法: fn.call(thisArg[, arg1[, arg2[, ...]]]);fn.apply(thisArg[, argsArray]); call和apply老是分不清,如何记忆呢?可以这样记:apply比call单词长,参... 阅读全文

@2016-09-23 JavaScript 浏览(3330)
#
[精品] JavaScript正则表达式详解

正则表达式语法基本符号 .:匹配除换行符\n之外的任何单个字符。^:匹配字符串的开头。$:匹配字符串的结尾。:匹配前面的子表达式零次或多次。(如a匹配零个或多个a)+:匹配前面的子表达式一次或多次。(如a+匹配一个或多个a)?:匹配前面的子表达式零次或一次。(如a?匹配零个或一个a) 字符类 [abc]:匹配方括号内的任意一个字符。(如[abc]匹配a、b或c)[^abc]:匹配任何... 阅读全文

@2016-09-22 JavaScript 浏览(4885)
#
认识Function.prototype.bind

先来看个例子假设现有一个方法test,它接受一个参数str,现在我有3个现成的参数,我需要根据它们生成3个定制的无参方法: function test(str){console.log(str);}var params = ['aaa', 'bbb', 'ccc'];var functions = [];for(var i=0; i<params.length; i++){ func... 阅读全文

@2016-09-22 JavaScript 浏览(3732)
第2页,共4页