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

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

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

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

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

创建正则表达式JS的正则表达式类型叫RegExp,有2种创建方式: var reg1 = /a/g; // 双斜杠法,这种方法书写更方便var reg2 = new RegExp('a', 'g'); // 传统写法,这种方法更正统console.log(/a/g instanceof RegExp); // 输出true 这2种方式没有任何区别,但是,当正则表达式的内容是动态的时候,用Reg... 阅读全文

@2016-09-22 JavaScript 浏览(4655)
#
【转载】addEventListener的第三个参数分析

原文:https://my.oschina.net/u/1454562/blog/205010觉得写得不错,就转载过来了。 如果要把HTML元素的事件与某个函数绑定起来,可以有下面三种方法,以最常见的“点击”事件为例。 方法一: 直接在对应的HTML元素标签上绑定函数 <button id='submit' onclick='onClickFn()'>Click Me!<... 阅读全文

@2016-09-21 JavaScript 浏览(2948)
#
11行代码实现简单的图片懒加载以及背景图懒加载

前言网上绝大多是图片懒加载插件都是针对img的src的,但是很多时候图片是以背景图的形式存在的,因为这种方式可以很容易实现图片不变形但是又保证宽高度固定,所以只能自己写一个。 这里只是简单的实现,没有考虑横向滚动、div滚动等等情况,但相信已经满足大部分情况了。 代码直接上代码,标题说11行,真有点吹了,哈哈,其实是去掉了大括号之后还剩11行,一共有15行: /** * 图片懒加载插件,与绝... 阅读全文

@2016-09-08 JavaScript 浏览(7641)
#
onkeydown和onkeypress的区别

原文写于:20150121 正文二者区别大着呢。 首先,从名字上就可以看出一些区别:keydown意指键盘被按下触发,keyup意指键盘松开被触发,keypress则是按键被按压,keydown和keyup容易区分,但是keydown和keypress啥区别呢? keydown和keypress的区别区别: 执行顺序不同:keydown < keypress < keyup... 阅读全文

@2016-09-02 JavaScript 浏览(4584)
#
[精品] 分享自己写的JS版日期格式化和解析工具类,绝对好用!

前言本来想模仿Java里面的SimpleDateFormat()对象的,但是感觉这样用起来不方便,所以还是直接写成单独的方法算了。 原文链接 PS:较新的浏览器有提供一个自带的日期格式化方法Intl.DateTimeFormat,但是超级难用,完全没必要去了解。 日期格式化使用说明formatDate(date, fmt),其中fmt支持的格式有: y(年)M(月)d(日)q(季度... 阅读全文

@2016-09-02 JavaScript 浏览(7098)
#
JavaScript中实现最高效的数组乱序

本文内容参考自网络。 常规做法var array = [1, 2, 3, 4, 5, 6, 7, 8, 9];array.sort(function(a, b){ return Math.random() > 0.5 ? -1 : 1;}); 此方法虽直观,但效率并不高,经某网友测试,打乱10000个元素的数组,大概花了35ms左右。 高效做法if (!Array.prototype.... 阅读全文

@2016-08-22 JavaScript 浏览(3242)
#
JavaScript的hasOwnProperty和isPrototypeOf详解

作用hasOwnProperty的作用是用来判断一个对象本身是否具有某个属性或对象,对象本身的意思是指不包括它的原型链,个人觉得这个方法应该叫isOwnProperty更合适。 isPrototypeOf是用来判断对象是否存在于另一个对象的原型链中,如: Array.prototype.isPrototypeOf([1, 2, 3]);几个例子下面几个例子应该很好理解: String.pro... 阅读全文

@2016-08-22 JavaScript 浏览(4260)
#
HTML、CSS、JS对unicode字符的不同处理

unicode字符的不同表示法unicode字符在html、css和js中的表示方法均不相同,下面分别作介绍。 css表示法首先来一段很常见的bootstrap的字体图标代码: .glyphicon-home:before { content: "\e021";} 上面代码中的e021就是这个字符的unicode码,是16进制。 语法: '\ + 16进制的unicode编码'如:... 阅读全文

@2016-08-17 前端综合 浏览(5216)
#
[精品] JavaScript数组常用方法详解

前言JavaScript中的数组有很多实用方法,但是方法多了难免记不住,本文就是对一些常用方法做一个基本的梳理。 为方便对比和理解,这里统一假设有一个名为a的数组:var a=[4,6,1,7,2,9,3,6],以下所有方法的测试都是基于这个数组。 兼容性较好的会修改原数组的方法:push、pop、shift、unshift、reverse、sort、splice。 push(value)进... 阅读全文

@2016-08-17 JavaScript 浏览(3143)
#
网页上如何实现禁止复制粘贴以及如何破解

我们首先来介绍如何实现禁止复制,知道了禁止的方式,再破解就容易了。 实现禁止复制粘贴比较简单,直接上代码: <style type="text/css">/* 最简单的实现禁止复制的方法,采用css方式禁止文字选择,当然这只兼容webkit内核浏览器 */* { -webkit-user-select: none; }p {font-family: 'Microsoft Yahei... 阅读全文

@2016-08-17 JavaScript 浏览(32645)
#
JavaScript作用域与变量声明提升

原文发表于:2014-08-21 js作用域为了更好的描述本文的核心:变量声明提升,我们先来复习一下js的作用域。 js没有块级作用域,函数是js唯一拥有自身作用域的结构(注:指在ES6出现以前,ES6开始出现了对块级作用域的支持)。 变量声明提升什么是变量声明提升这是一个比较老的话题,所谓变量声明提升hoisting,是指JavaScript引擎在执行的时候,会把所有变量的声明都提升到当前... 阅读全文

@2016-08-02 JavaScript 浏览(3106)
#
console.log报错:uncaught typeerror illegal invocation

原文发表于:2014-08-01 console.log的运行上下文原因是console.log的运行上下文要求是console不能是其它任何别对象: console.log.call(this, 'Hello Liuianan!'); // 报错:Uncaught TypeError: Illegal invocationconsole.log.call(console, 'Hello Li... 阅读全文

@2016-08-02 JavaScript 浏览(5854)
#
JavaScript中和String相关的一些兼容性不太好的方法

String.prototype.trim低版本浏览器不支持字符串的trim相关方法,实际使用中考虑兼容性的话可以使用jQuery提供的$.trim()方法,如果项目中没有采用jQuery,可以自己简单写一个,参考jQuery中的实现: if(!String.prototype.trim){ String.prototype.trim = function() { re... 阅读全文

@2016-08-02 JavaScript 浏览(5312)
#
浏览器会自动给页面所有取了ID的元素生成一个对应的变量

如题原文发表于:2014-07-14 浏览器会给页面所有取了id的元素生成一个名字就叫这个id的对象,对象的内容就是它的DOM对象,相当于是document.getElementById(id)返回的内容。 我们来看一个测试例子: <div id="test1">第一段内容</div><div id="test2">第二段内容</div><... 阅读全文

@2016-08-02 JavaScript 浏览(3619)
#
【经典题目】js不使用临时变量交换2个变量的值

说明这种东西一般都是出现在面试题上面,实际生产环境中很少用,因为性能不见得更优越可读性还更差。 本文属于转载,但是对排版做了优化。 思路一(function(){ var a = 10, b = 2; a = a + b; b = a - b; a = a - b; console.log('a:', a, 'b:', b);})(); 思路二(function... 阅读全文

@2016-07-28 JavaScript 浏览(2850)
#
java与javascript中处理json的区别

双引号与单引号一般而言,java中的json转换工具(如gson、jackson)只能处理标准json,所谓标准json,就是键值和字符串都必须用双引号包裹的json字符串: var json1 = '{"a": "abc"}'; // 标准JSONvar json2 = "{a: 'abc'}"; // 非标准JSONvar json3 = '{a: "abc"}'; // 非标准JSONva... 阅读全文

@2016-07-27 JavaScript 浏览(4921)
#
js正则匹配“非字符串”

JS匹配非字符串众所周知,[^div]匹配的是“非字符”而不是“非字符串”,前者的意思是一个字符串里只要没有d、i、v这3个字符就算符合条件,但是很多时候我们需要匹配没有div这一个字符串,这时该怎么办呢? 方法一(不推荐)匹配不以abc开头的字符串: /^([^a]|a[^b]|ab[^c]).*/g.exec('abcfdsf'); 匹配不以abc或者qwe开头的字符串: // 正确写... 阅读全文

@2016-07-22 JavaScript 浏览(12122)
#
pomelo使用笔记

简单介绍一些资源地址关于socket.io和websocketweb通信的几种实现方式短轮询长轮询长连接websocketpomelo支持的底层协议pomelo安装写在安装之前准备工作开始安装centos6.5 安装 gcc4.8安装devtoolset配置环境变量:补充:yum的临时目录回头再次安装后台介绍目录结构术语解释最重要的2个配置文件servers.jsmaster.js启动与停止简单介... 阅读全文

@2016-07-15 Node.js 浏览(15340)
第2页,共3页