陈建华的博客
专注web开发
发布时间 : 2016-02-21 17:31:46     Tags : javascript

今天在51js论坛中看到一个网友发布了一个javasctipt实现的快速排序的算法,前些日子工作中也涉及到javasctipt中数据排序的应用,当时为了提高排序速度,使用的也是快速排序的算法。但是让我感到意外的是,下面有个网友回复说,javascript中的Array本身的sort方法才是最快的,比快速排序算法都快,当时看到了很是郁闷,因为当时花了好长时间在排序算法上,居然忘记了Array本身的sort方法 不过javascript中内置的sort方法真的比快速排序算法还快吗? 哈哈,测试一下不就知道了 先说一下我测试的环境 1,我的测试环境是IE6.0和firefox2.0 2,每种算法有很

发布时间 : 2016-01-30 00:13:49     Tags : javascript

我当初犯的大错误:请你一定记清楚了:ctx.drawImage(img,0,0);改为img.onload = function(){ctx.drawImage(img,0,0);}只有img 加载完了 你画它才有意义。

发布时间 : 2016-01-29 16:09:44     Tags : javascript

目前, 支持HTML 5的浏览器和Windows 8 Metro成为了游戏开发的候选方案。利用canvas(画布)可以实现硬件加速,你可以在上面绘制游戏的内容,通过一些技巧可以达到每分钟60帧的渲染速度 在游戏中,fluidity(流畅性)这一概念非常重要,因为好的流畅性能带给玩家更好的体验。 这篇文章的主旨在于教你一些技巧,让你可以最大程度地发挥HTML5 canvas的潜能。 我将通过一个例子来表达我要讲的内容。这个例子是2D tunnel effect(2D隧道效应),它是我为Coding4Fun 会议写的(我参加了在法国举办的TechDays 2012)。(http:

发布时间 : 2016-01-15 16:14:56     Tags : javascript

加密和解密的方法,都是可以相互转换的。而且支持中文,也解决了参数有特殊字符,通过url传值的问题。加密模块:function panEncrypt(str, pwd) { if (pwd == null || pwd.length <= 0) { alert("Please enter a password with which to encrypt the message."); return null; } var prand = ""; for ( var i = 0; i < pwd.length; i++) { prand += pwd.charCodeAt(i).toStri

发布时间 : 2015-09-10 11:34:33     Tags : javascript

在ie9下面,出现了一个非常头疼的问题。调用window.print()对文档进行打印。但是一直不弹打印对话框。结果我刷新页面,页面加载完成之后,打印对话框自动弹出来了。function printDiv() { var divToPrint = document.getElementById('printArea'); newWin= window.open(); newWin.document.write(divToPrint.innerHTML); newWin.print(); newWin.close();}上面的代码就是我的代码。出现这样的问题,有一个

发布时间 : 2015-02-02 14:40:43     Tags : javascript

HTMLParser具有小巧,快速的优点,缺点是相关文档比较少(英文的也少),很多功能需要自己摸索。对于初学者还是要费一些功夫的,而一旦上手以后,会发现HTMLParser的结构设计很巧妙,非常实用,基本你的各种需求都可以满足。 这里我根据自己这几个月来的经验,写了一点入门的东西,希望能对新学习HTMLParser的朋友们有所帮助。(不过当年高考本人语文只比及格高一分,所以文法方面的问题还希望大家多多担待) HTMLParser的核心模块是org.htmlparser.Parser类,这个类实际完成了对于HTML页面的分析工作。这个类有下面几个构造函数: public

发布时间 : 2014-12-16 11:30:44     Tags : javascript

invert方法确实好用,给他一个值,他就能返回对应的X轴的值。但是他只在d3.date.scale里面有。在d3.scale.ordinal()里面,却不存在,再查阅了网上的英文资料后,才发现,这个可以自己来搞一个。今天就将其记录下来var barLabels = dataset.map(function(datum) { return datum.image;});console.log(barLabels);var imageScale = d3.scale.ordinal() .domain(barLabels) .rangeRoundBands([0

发布时间 : 2014-12-02 15:05:36     Tags : javascript

做项目的时候遇到一个返回查询内容里面,只取最大和最小值问题。首先/** * 数组最大值 * @param {Object} array * @return {TypeName} */ Array.max=function(array) { return Math.max.apply(Math,array); } /** * 数组最小值 * @param {Object} array * @return {TypeName} */ Array.min=function(array) { retu

发布时间 : 2014-11-24 23:59:50     Tags : javascript

面试前端必须准备的一个问题:怎样去掉Javascript的Array的重复项。据我所知,百度、腾讯、盛大等都在面试里出过这个题目。 这个问题看起来简单,但是其实暗藏杀机。 考的不仅仅是实现这个功能,更能看出你对计算机程序执行的深入理解。 我总共想出了三种算法来实现这个目的:Array.prototype.unique1 = function(){ var n = []; //一个新的临时数组 for(var i = 0; i < this.length; i++) //遍历当前数组 { //如果当前数组的第i已经保存进了临时数组,那么跳过,

发布时间 : 2014-11-21 12:00:46     Tags : javascript

用 js有很久了,但都没有深究过js的数组形式。偶尔用用也就是简单的string.split(char)。这段时间做的一个项目,用到数组的地方很多,自以为js高手的自己居然无从下手,一下狠心,我学!呵呵。学了之后才知道,js数组的功能强大很,远比VB,C#强多了,大家慢慢看吧1、数组的创建var arrayObj = new Array(); //创建一个数组var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度var arrayObj = new Array([element0[, element1[, ...[, element

微网聚博客乐园 ©2014 blog.mn886.net 鲁ICP备14012923号   网站导航