最近的文章列表

javascript实现两个大数(整数)相乘

在银行系统的开发中,经常遇到很大的数字运算。大数,即超出语言所能表示的数字最大范围的数字,此时的数字只能用字符串来表示。那么如何实现两个大数相乘呢?我用JS实现了一下,代码如下:

代码如下:

console.log(bigMut("567", "1234")); // 699678
function bigMut(big, common) {
big += "";
common += "";
if (big.length < common.length) {
big = [com
2014/6/9 Comments:
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:
利用javascirpt函数定时器 实现定时读取系统实时连接数
代码如下:

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

);
}
2014/6/3 Comments:
用json方式实现在javascript中建立一个map

建立map的方式(其实用的是json实现方式)

代码如下:

var a = {};
a["key1"] = "value1";
a["key2"] = "value2";


既然是个map就有检索某个键是否存在的方法,这样写 

2014/6/3 Comments: