您现在的位置:首页
--> Heero's Blog
所谓的千分位形式,即从个位数起,每三位之间加一个逗号。例如“10,000”。针对这个需求,做了两个方案,方法一和方法二的强烈对比表明,字符串操作的效率比数组操作的效率要高得多;方法六的测试结果告诉我们,代码长短跟性能高低没有关系。方法四的综合性能是最好的(但为何num为100的时候,性能有所降低呢,这个实在不解)。
以下代码,一般用于在当前页无刷新提交表单,其原理是把表单的target设为页面上某个iframe的id,使该iframe成为提交的目标,避免新开窗口或跳转。但这段代码在IE 6、7下无效。
所谓的千分位形式,即从个位数起,每三位之间加一个逗号。例如“10,000”。
WebRTC(Web Real-Time Communication,网页实时通信),是一个支持网页浏览器进行实时语音对话或视频对话的API,目前已经是W3C的推荐标准。本文主要阐述如何通过WebRTC的接口获取摄像头影像并截图。
WebRTC(Web Real-Time Communication,网页实时通信),是一个支持网页浏览器进行实时语音对话或视频对话的API,目前已经是W3C的推荐标准。本文主要阐述如何通过WebRTC的接口获取摄像头影像并截图。
• 了解模块化开发
把函数都放在一个名字空间内,可以减少全局变量冲突的概率,却没有解决全局变量冲突这个问题。应该如何解决?
一谈到路径相关的问题,大家都会往window.location上想,确实这个对象提供了相当多的路径信息,其中常用的就包括: location.href:当前页面的完整URL location.pathname:当前URL中的路径名 location.hash:当前URL中的锚点 location.search:当前URL中的查询参数 然而,location没有一个属性能直接获得当前目录(不含文件名)的绝对路径。通过Google我发现了一些错误的方法,比如说把URL通过“/”分离成数组,把数组的最后一项去掉以后再连接成字符串。如果是这种URL模式,那自然没问题: http://域名/路径/文件名 但如果URL中没有指定文件名,结果就大错特错了: http://域名/路径
HTML 5的
把验证码存储在Cookie中 一般来说,我们会把验证码的值用Session存储起来,通过对比用户提交的验证码和Session中的验证码,就可以知道输入是否正确。由于Session会占用服务器资源,我曾经想过是否可以把验证码的值加密后存储在Cookie中。不过事实证明,这只是异想天开罢了。 假设验证码的值是a,通过sha1加密后得到的值为b = sha1(a),并且把b存储在Cookie中。而用户提交的验证码值为c,通过判断sha1(c)是否与b相等,可以知道输入的验证码是否正确。然而,Cookie是受客户端控制的。如果用户事先通过肉眼看到验证码的值是a,又从Cookie中得知此时的加密值为b,那么,他只要在提交前把Cookie的值修改为b,提交的验证码值为a,就可以永远通过验证。
使用canvas绘制时钟。
MySQL是开源软件,但开源不意味着免费,开源软件的使用应遵循该软件提供的使用授权许可。MySQL的授权许可是英文的,而且一直以来没有权威的中文译本,所以很多人都不清楚其中的细节。最近我在做一些ASP.NET+MySQL的应用,特地对MySQL的授权许可进行了研究。(以下说明,如有错误,欢迎指正)使用MySQL作为数据库的应用是否会“被GPL”MySQL开源软件(包括MySQL社区版数据库服务器、驱动程序和链接库等)是在GPL许可下提供的。GPL(Gener...
• 多余的逗号
JSON在JSON格式中,逗号是多个属性键值对间的分隔符,例如:var json = { id: 1, name: \'heero\' };但在编程的时候,很容易会画蛇添足,在最后一对键值对后也加上了逗号:var json = { id: 1, name: \'heero\', };在这种情况下,IE6、7会报错,但IE8以及其他浏览器则没有问题。数组在数组中,逗号是元素间的分隔符,例如:var arr = [1, 2, 3];同样地,我们也有可能不小心在最后一个元素后加了逗号:var arr = [1, 2, 3,];凭直觉...
Array的push与unshift方法都能给当前数组添加元素,不同的是,push是在末尾添加,而unshift则是在开头添加。从原理就可以知道,unshift的效率是较低的。原因是,它每添加一个元素,都要把现有元素往下移一个位置。但到底效率差异有多大呢?下面来测试一下。测试环境的主要硬件:CPU T7100(1.8G);内存4G DDR2 667;硬盘5400转。主要软件:操作系统为Windows 7;浏览器为Firefox 3.6.9。
当下的软件越来越流氓,经常会在安装的时候自动添加为开机启动项。要知道,开机启动项越多,开机速度越慢。通过windows的系统配置工具(在运行中输入“msconfig”即可打开),可以方便地禁用/启用启动项。很多优化软件,如超级兔子、windows优化大师、鲁大师等也都提供了这样的功能。但到底它们是如何工作的呢?
• 前端模板引擎
说起模板引擎,很多人会认为这是后台的东西(如PHP的Smarty、Java的Velocity),跟前端没有关系。然而,随着前端的逻辑变得越来越复杂,引入模板技术已经是非常必要了。模板引擎的主要功能就是把变化的数据融入到不变的模板中,并生成最终结果。目前,前端的主要数据格式无非是XML和JSON。如果选择XML作为数据格式,XSLT就是最佳的模板语言。大三时做的一个社团网站就是采用了这样的模式。XML+XSLT的缺点非常明显:兼容性问题。XML...
最近有网友在留言板里问到jRaiser和jQuery的冲突问题,特此写一篇文章进行解释。冲突的根源众所周知,jQuery是通过一个全局变量$来引用的,而jRaiser加载时也占用了$。因而冲突的根源就是全局变量$。说得明白点:当jQuery和jRaiser共存的时候,$究竟是谁?分析jQuery和jRaiser的源代码可以知道,这两个库在加载的时候都会占用$变量。因此,按照覆盖的原理,谁后加载,$变量就是谁。如何解决冲突别名法除了$,jQuery和jRaiser都占用...
很久之前就对jQuery.animate的实现非常感兴趣,不过前段时间很忙,直到前几天端午假期才有时间去研究。jQuery.animate的每种动画过渡效果都是通过easing函数实现的。jQuery1.4.2中就预置了两个这样的函数。。。
说起模板引擎,很多人会认为这是后台的东西(如PHP的Smarty、Java的Velocity),跟前端没有关系。然而,随着前端的逻辑变得越来越复杂,引入模板技术已经是非常必要了。模板引擎的主要功能就是把变化的数据融入到不变的模板中,并生成最终结果。目前,前端的主要数据格式无非是XML和JSON。如果选择XML作为数据格式,XSLT就是最佳的模板语言。大三时做的一个社团网站就是采用了这样的模式。XML+XSLT的缺点非常明显:兼容性问题。XML...
最近有网友在留言板里问到jRaiser和jQuery的冲突问题,特此写一篇文章进行解释。冲突的根源众所周知,jQuery是通过一个全局变量$来引用的,而jRaiser加载时也占用了$。因而冲突的根源就是全局变量$。说得明白点:当jQuery和jRaiser共存的时候,$究竟是谁?分析jQuery和jRaiser的源代码可以知道,这两个库在加载的时候都会占用$变量。因此,按照覆盖的原理,谁后加载,$变量就是谁。如何解决冲突别名法除了$,jQuery和jRaiser都占用...
无参数类继承的问题说到Javascript的类继承,就必然离不开原型链。先看一段示例代码,实现B继承于A:function A() {}A.prototype.a1 = function() {};function B() {}B.prototype = new A();B.prototype.b1 = function() {};var b = new B();alert(b.constructor == A); // truealert(b.constructor == B); // false这段代码的主要问题是:需要实例化A作为B的原型,此时就执行了A的构造函数。但按照面向对象的规则,实例化B之前,B...
[ 共23篇文章 ][ 第1页/共2页 ][ 1 ][ 2 ]
近3天十大热文
- [56] IOS安全–浅谈关于IOS加固的几种方法
- [55] Oracle MTS模式下 进程地址与会话信
- [54] 图书馆的世界纪录
- [54] android 开发入门
- [52] 如何拿下简短的域名
- [51] Go Reflect 性能
- [50] 【社会化设计】自我(self)部分――欢迎区
- [47] 读书笔记-壹百度:百度十年千倍的29条法则
- [37] 程序员技术练级攻略
- [33] 视觉调整-设计师 vs. 逻辑
赞助商广告