#
[精品] [置顶] 【干货】JS版汉字与拼音互转终极方案,附简单的JS拼音输入法

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

@2016-09-27 JavaScript 浏览(6528)
#
几种排序算法的JavaScript实现

概述常见排序算法: 冒泡排序这是最笨也是最容易想到的排序方法: function bubbleSort(arr) { for(let i=0, len=arr.length; i<len-1; i++) { for(let j=0; j<len-1-i; j++) { if(arr[j] > arr[j+1]) { ... 阅读全文

@2018-06-13 JavaScript 浏览(33)
#
WebWorker简单复习

本文demo:http://demo.haoji.me/2018/04/28-webworker/ JS是单线程语言由于JS设计的初衷就是用来进行一些简单的用户交互以及DOM操作,为了避免复杂性,从一开始JS就被设计成一门单线程语言,现在如是,以后也不会变。 然后正是由于单线程的缘故,当我们需要在前端运行一些大运算量的代码时,浏览器肯定会陷入卡顿。为了解决前端大运算量问题,HTML5引入了We... 阅读全文

@2018-04-28 JavaScript 浏览(91)
#
Chrome浏览器控制台的一个不知道能不能算bug的bug

正文直接上代码: var obj = {a:1, b:2};console.log(obj);obj.b = 3;console.log(obj) 效果如下: 收起时显示的还是旧的值,展开时才是新的,最近就因为这个问题坑了我半天,后来才发现代码没问题,是Chrome控制台显示问题。水文一篇,记录下来! ... 阅读全文

@2018-01-17 JavaScript 浏览(266)
#
编辑页面离开时弹出提示

正文N年前就知道,只是没记录过,所以今天写下来。主要是借助window.onbeforeunload来实现: JS写法: window.onbeforeunload = function(){ return '修改尚未保存,确定放弃吗?';};//或者这样写:window.onbeforeunload = function(event){ event.returnValue = '... 阅读全文

@2017-08-22 JavaScript 浏览(619)
#
vue2.x遇到的问题总结

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

@2017-08-15 JavaScript 浏览(661)
#
HTML5 fetch API

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@2016-10-23 JavaScript 浏览(585)
#
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 浏览(680)
#
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 浏览(560)
第1页,共3页