最近的文章列表

js当某个文本框成为焦点时即清除文本框内容
代码如下:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>成为焦点时清除文本框内容</title>
<script>
window.onload = initAll;

function initAll(){
var clearText = document.get
2014/6/9 Comments:
javascript实现的常用算法(如冒泡、快速、归并、鸽巢、奇偶等)
代码如下:

l = [6, 2, 4, 1, 98, 34, 5, 9, 23, 8, 10, 32]

       
//冒泡排序
/*function bubbleSort(arr) {
    newarr = arr.slice()
    if (newarr.length <= 2) re
2014/6/6 Comments:
js中创建多行字符串的7种方法 concat join coffeescript ES6 Template Strings

JS里并没有标准的多行字符串的表示方法,但是在用模板的时候,为了保证模板的可阅读性,我们又不可避免的使用多行字符串,所以出现了各种搞法,这里以一段jade的模板作为示例,简单总结和对比一下。

一、字符串相加

这是最容易理解也很常用的一种形式,如下

代码如下:

var tmpl =''+
    '!!! 5' +
    'html' +
&
2014/6/6 Comments:
解决IE浏览器中图片onload事件无效的方法

故事模式实现是只加载当前浏览的照片和它下面的两张照片,加载照片的时候才会加载和渲染评论区,图片没有加载前会用一个一象素的图片占位,并用一个loading类将显示出一个loading背景图,判断在可视区的时候替换成真正的图片,图片加载成功后删除loading类。

问题出在最后面,测试的时候发现在IE下loading类无法删除,当时代码如下:

代码如下:

img.src = _src;
img.src = _src;
img.onload = functi
2014/6/6 Comments:
分享Node.js简单的异步操作管理器

最近写nodejs比较多,刚开始的时候碰到的异步的操作比较少,因为想做的东西比较简单,一查api有同步的,为了省事就直接用同步的搞了,慢慢发现这不是个事呀,好好的异步特性不用,非得用同步的,真囧,并且很多东西木有同步的api的。

好!写异步的,慢慢的出现了这种代码。。。

代码如下:

mysql.query('xxxx').on('success', function(){
   mysql.query('xxxx').on('success
2014/6/6 Comments:
js中用正则表达式计算中文长度的例子

由于javascript是unicode编码的,所有的字符对于它来说一个就是一个,但是后台程序不是,通常在后台程序中一个中文是占两个字节的,这就导致了前后端校验长度不一致,这个问题可以通过正则来解决。

代码如下:

function getRealLen( str ) {
    return str.replace(/[^\x00-\xff]/g, '__').length; //这个把所有双字节的都给匹配进去了
}


2014/6/6 Comments:
“脚本运行时间过长” 常见浏览器多长时间会提示这个的总结

现在的web,影响用户访问速度已经不单单是文件下载的速度了,当所有的文件从服务器上下载后,从浏览器开始渲染到用户可以响应的时间,这段时间仍然会消耗很长,同时由于交互的复杂,javascript也变得越来越多,越来越复杂,脚本运行的时间反映在界面上就是响应用户输入点击的过慢,甚至浏览器出现脚本超时的提示。

这篇文件并不打算讲怎么避免这种超时以及javascript的优化技巧,单说各种浏览器的忍耐极限,下面是Nicholas C. Zakas总结的数据

Chrome:执行超过8秒提示。
IE:执行超过500万条Javascript语句时出现提示。
Firefox:执行超过10秒出现提示。
Safari:执行超过5秒出现提示。

2014/6/6 Comments:
分享百度移动版的url编码解码示例
代码如下:

var decode = function(m) {
try {
m = decodeURIComponent(m);
} catch(e) {}
var s = m.split("%");
if (s.length > 1) {
s.shift();
for(var i = 0; i < s.length; i++) {
var t = s[i];
t = parseInt(t, 16); <
2014/6/6 Comments:
利用javascirpt函数定时器 实现定时读取系统实时连接数
代码如下:

function GetDeviceInfo()
{
setInterval(function()
{
GetDeviceRealtimeConnect(); //js调取实时连接数的函数
},
1000/*启动间隔,单位ms*/

);
}
2014/6/3 Comments:
页面javascript遇到乱码问题和无法转码的解决方法

昨天遇到一个棘手的问题,在老项目里加些js文件和老项目的编码格式不一致出现乱码。老页面是GB2312,链入的js文件是UTF-8,两个文件都不能转格式。

第一个想法就是将js文件中的中文转换为unicode编码。这种做法是建立在牺牲可读性的条件下的,中文全都变成密码了。

事后想想应该还有更好的方法吧,然后就去百度,方法如下:

代码如下:
2014/6/3 Comments: