
JavaScript
文章平均质量分 81
慢游
这个作者很懒,什么都没留下…
展开
-
JavaScript,JScript,ECMAScript及对应浏览器的版本
相信很多人都和我一样,在用JavaScript实现各种Web应用的时候,都曾经对其历史渊源和版本变迁好奇过。特别是在不得不面对浏览器兼容问题时,希望能对问题的源头有所了解。作为对上述困惑所做的一点行动,下面的表格(尽可能地)列举了JavaScript,JScript,ECMAScript及对应浏览器的版本之间的关系。当然这个表格不是完全原创的,主要是合并了以下三个Wikipedia文档中的相关表格。希望能够给有兴趣的人带来一点帮助。原创 2011-01-13 19:47:00 · 2422 阅读 · 0 评论 -
HTML散点图(Scatter Plot)的三种不同实现方式性能比较
介绍相对于其他图表类型而言,散点图往往会接收大数据做为输入,而需要同时显示上万甚至上百万的数据点在图上。对于基于HTML的散点图来说,其性能无疑是一个非常重要的考虑因素。下面就对比一下3种不同的散点图实现,来看看其性能如何。实现的源码可在这儿下载。为了有可比性,这儿的散点图都是在一个500*500的区域内,绘制10,0000个半径为1的绿色点。其位置完全随机。 散点图实现 1.原创 2017-06-09 17:48:49 · 12328 阅读 · 0 评论 -
D3.js用动画渲染数据集的显示
介绍数据统计和数据分析离不开数据集。之前几篇博客(用D3.js进行医疗数据可视化 (一)折线图 (Line Chart) 等)基于的是国家卫生和计划生育委员会统计信息中心的数据,可以说是已经经过了加工,提炼总结出来的数据。而本文涉及的是原始数据集。如果按医疗数据来说,可以是电子病历数据,个人健康数据等。但这儿重点介绍动画效果的实现,不涉及任何与特定数据集有关的内容。前一段时间有点闲暇时间,原创 2016-07-22 18:30:44 · 3213 阅读 · 0 评论 -
用D3.js进行医疗数据可视化 (二)图例 (Legend)
介绍在上一篇文章的结尾,对生成的可视化图,我们提到了许多待改进的地方。这儿就先来讨论下图例的显示。图例的主要目的是说明图表中各种符号和颜色所代表的内容及指标的说明。对于我们之前生成的line chart,需要用图例说明每条曲线所代表的具体含义是什么。总结两点基本原则如下:1. 图例中要对应曲线的颜色,并指出对应的医疗机构名称;2. 图例要放在适当的位置,以便起到恰如原创 2015-07-22 14:42:20 · 9031 阅读 · 0 评论 -
用D3.js进行医疗数据可视化 (三)坐标轴 (Axes)
介绍这这篇文章中,我们来尝试一下改进坐标轴的呈现方式。所有的代码都是在之前使用D3.js进行医疗数据可视化的一些实践 (二)中的代码基础上改的。因此这儿只把相应改动的代码贴出来。 任务一:让X轴的刻度以及相应的网格按月分布,并将刻度值改成中文可视化效果 代码var xAxis = d3.svg.axis() .scale(_x.range原创 2015-07-22 20:34:52 · 6716 阅读 · 0 评论 -
用D3.js进行医疗数据可视化 (一)折线图 (Line Chart)
介绍大概说说这个事情的前因后果吧。 去年下半年,我有机会参加了一个大型项目,在里面参与了前端可视化组建的开发,用的library是D3.js [2]。虽然3个月后我就结束了在这个项目里的工作,但后面断断续续也用D3做了一些别的实现。而从几年前开始,我一直在做和healthcare相关的项目,主要就是做医疗数据的信息化,从而优化医疗领域的信息管理、决策支持。从项目的角度出发,我们的着原创 2015-07-19 22:01:08 · 14304 阅读 · 4 评论 -
用D3.js进行医疗数据可视化 (五) 饼图 (Pie Chart)
介绍经过一系列对折线图的试验,这儿就来尝试一下用饼图(Pie Chart)来做医疗数据的可视化。在《用D3.js进行医疗数据可视化 (四) 堆积区图(Stacked Area Chart)》的图2中,我们见识了每种医疗机构每月院均诊疗人次数(人次)的比较。其实对于一组数据间的比较,用饼图是非常适合的:它可以直观地看到每种数据占总体的比例,以及相对于其他组数据孰大孰小。 代码原创 2015-08-03 17:05:10 · 6205 阅读 · 3 评论 -
用D3.js进行医疗数据可视化 (四) 堆积区图 (Stacked Area Chart)
介绍在之前的文章《用D3.js进行医疗数据可视化 (一)折线图》中,我们可以看到对于所可视化的医疗卫生机构诊疗人次数线图,最下部的几条线几乎重合在一起,而且几种机构类型相互包含,关系比较混乱。因此在这篇文章我,我们尝试一下用堆积区图(stackedarea chart)来强调它们之间的对比。 代码 全国医疗卫生机构医疗服务量 fu原创 2015-07-23 21:56:03 · 5775 阅读 · 2 评论 -
关于不同的JavaScript Framework的一点思考
前几年一直用Dojo做应用开发,也经历了Dojo的一些大大小小的变化,比如1.6以后采用了AMD模式。应用所限,对于这些变化背后的动机,一直都没有很深入地去了解。最近半年有机会加入了一个大型应用开发项目,一下子接触了很多种不同的JavaScript Framework。个人除了Dojo之外,也上手了JQuery和d3。回首以前看过的一些文章对于这些框架优劣的争论,也有了一点自己的看法。Dojo原创 2015-01-12 15:46:29 · 796 阅读 · 0 评论 -
Dojo JavaScript实现消息滚动出现效果
介绍这种效果说的就是类似状态监视器一样的应用。实时更新后台或某个监控点的状态消息。主要采用的技术就是定时器和滚动定位。 代码示例<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>@import "../js/dijit/themes/tundra原创 2013-10-30 11:03:37 · 2855 阅读 · 0 评论 -
如臂使指——Dojo框架下让浮动窗口跟随鼠标而动
介绍在web应用的很多场合,需要让浮动窗口跟随鼠标而动。比如这儿举的一个例子:当用户选中网页上一段内容时,弹出工具条让用户进行标记。可以想象一下,有一个在线看书的应用,支持读者在阅读的时候随时做笔记。当读者选中一段文字时,弹出一个小工具条,让用户保存成笔记标题或笔记内容。在这种场景下,让小工具条出现在选中文字的旁边是必要的用户体验。在实际应用场合,还必须确保在不同的浏览器中、当文字内容有滚动条原创 2013-10-28 16:26:53 · 3320 阅读 · 0 评论 -
为什么要学JavaScript?
这两天在微博上看到大家讨论学什么语言性价比高,有人就推荐学JavaScript。一直因为工作性质必须用JavaScript,除了勤恳coding,对这种“抽象问题”还真没仔细考虑过。好歹也有了几年的工作经验,万一别人问起这种问题回答不上来,岂不脸红?于是翻出当年的博文 JavaScript核心指南(JavaScript. The Core.) 又拜读一遍,想找一个讲起来很牛原创 2011-12-21 17:23:39 · 1337 阅读 · 0 评论 -
在JAVA servlet中返回不同类型的AJAX response
在JAVA servlet中返回不同类型的AJAX response。原创 2011-04-11 21:37:00 · 20993 阅读 · 0 评论 -
浅析dojo.connect的几种用法(一)——关联事件,不仅仅是DOM Event
介绍 每个流行的工具包中,总有一些异常出彩的闪光点。dojo.connect就是dojo工具包中,与JavaScript事件机制相关的重磅功能。 在JavaScript的使用场景中,我们经常需要侦听某些事件的触发,然后进行相应的(函数)处理。比如最常见的,当点击登录页面的登录节点时,JavaScript能够察觉到,并随之将用户登录信息发送到后台。下面先来看看dojo.connect的参数[http://docs.dojocampus.org/dojo/connect]:dojo.co原创 2011-05-13 09:56:00 · 10566 阅读 · 0 评论 -
也谈分离JavaScript和HTML
<br /> 不知道能不能将JavaScript和HTML的分离也归结为“你必将业务逻辑由显示中分离(thou shalt separate business logic from display)”[1]的问题。但有HTML和CSS的分离在前面对照,它们的分离是如此地优雅,对于理想主义的小coder实在具有莫大的吸引力。<br /> 从现实的角度,也可以举出很多方面来论证JavaScript和HTML分离的好处:网页设计人员和JavaScript程序员可以分工合作,尽可能降低沟通成本;原创 2011-02-18 13:51:00 · 12395 阅读 · 3 评论 -
dojo.declare/dojo.provide/dojo.require:JavaScript模块化管理工具
<br /> 在中大型软件的开发过程中,代码的模块化管理非常重要。众所周知支持良好的模块化管理的语言是Java,通过package/import机制来实现。相比较而言,JavaScript作为运行在前端的解释性语言,其模块化管理一直都没有受到足够的重视。对于以静态页面为主的网站,JavaScript一般就是做做网页特效,大多数情况下都是直接写入到HTML页面中,也谈不上模块化不模块化。但是随着富客户端的蓬勃发展,特别是web应用的大量出现,客户端的功能越来越复杂。JavaScript不仅需要支持变化多原创 2011-03-01 20:47:00 · 4631 阅读 · 0 评论 -
dijit.Dialog样例及其原型关系
Dojo中dijit.Dialog对话框控件由于其良好的设计和封装,得到了很多人的喜爱。而通过继承dijit.Dialog类,我们也可以设计出内在逻辑复杂,功能各异的各种自定义对话框。本文通过分析两个样例及其JavaScript原型之间的关系,来更深入地了解dijit.Dialog是如何工作的。原创 2011-01-17 14:41:00 · 3920 阅读 · 0 评论 -
JavaScript核心指南(JavaScript. The Core.)
好文!不得不看。本文对JavaScript中一些关键性的概念进行了详细而形象的论述,并搭配代码实例,对了解JavaScript的核心原理非常有帮助。内容包括对象(An Object),原型链(A Prototype Chain),构造函数(Constructor),执行上下文栈(Execution Context Stack),执行上下文(Execution Context),变量对象(Variable Object),激活对象(Activation Object),作用域链(Scope Chain),转载 2011-01-14 22:33:00 · 4665 阅读 · 0 评论 -
再论HTML散点图(Scatter Plot)的SVG实现方式
介绍在上一篇《HTML散点图(Scatter Plot)的三种不同实现方式性能比较》中,重点比较了散点图的SVG实现方式和HTML5 Canvas实现方式的不同。这儿再详细看看使用SVG,预先生成节点和实时加载数据之间的区别。这儿为了在性能上有所比较,因此将散点数目增加到250,000,并且用于绘制散点的csv文件由data-generator.py统一生成。源代码可在此处下载。d原创 2017-06-13 17:04:06 · 2114 阅读 · 0 评论