您现在的位置:首页
--> 岁月如歌
近期新近的一些 UI 类库比如 jQuery EasyUI, 开始逐步抽象出 Draggable, Droppable, Resizable 等 Base 功能点,这些形容词已经逐步开始从 what to do, not what it is 层面开始抽象。虽然 EasyUI 最后体现出来的依旧是 Menu, Dialog, Tree 等传统 UI 控件,但抽象层次和代码组织等已经逐步演化。
下班时分和 mimiqiao 聊天,谈到一些话题,挺有意思。最近自己一直在实践,刚好总结下: 1. 不看微博,你不会丧失任何有价值的东西。身边不少同事都有 Twitter 瘾,工作一两个小时,就会忍不住上去溜达一圈。我曾经是 Twitter 重度用户,有段时间,一天不看个七八次,整个人都会若有所失。后来意识到 Twitter 的投入产出比太低,于是逐步降低查阅和更新频率。直到最近嫌翻墙麻烦,干脆转战新浪微博。新浪微博非常娱乐,基本上一亿...
设置一个元素的高度: var elem = document.getElementById(\'some-id\'), val = \'200px\'; elem.style.height = val; // 原生写法 YAHOO.util.Dom.setStyle(elem, \'height\', val); // YUI2 写法 $(elem).height(val); // jQuery 写法 当val = \'200px\'时,以上三种写法都能正确工作。当val = \'200xx\'时,以上三种写法在 IE 下都抛出异常,在非 IE 下被忽略。当val = \'-200px\'时,以上三种写法在 IE 下前两种抛...
看代码:
alert(parseInt(0.000001));
alert(parseInt(0.0000001));
第一条语句输出 0, 第二条语句输出 1, 囧。
CSS 和 JavaScript 的压缩已经很成熟,各大网站都在使用。HTML 的压缩(特指去除空白字符和注释),除了 Google 等搜索页面,在其它网页上基本见不到踪迹。原因很简单: HTML 文档中,多个空白字符等价为一个空白字符。也就是说换行符是不能被干掉的,要干掉的话,也得至少保留一个空白。 HTML 元素中,有一个pre元素,表示 preformatted text. 里面的任何空白,都不能被删除。 HTML 的注释,有 IE 的条件注释。这些条件注释是文...
slice 可以用来获取数组片段,它返回新数组,不会修改原数组。除了正常用法,slice 经常用来将 array-like 对象转换为 true array. 名词解释:array-like object
不时会听见网上的朋友或身边的同事谈及“瓶颈”、“天花板”问题,特别是 30 岁左右的朋友最担心。今天拜读了 Eric Raymond 的 How To Become A Hacker(中文翻译),此文中的 hacker 可以简单理解为“编程高手”、“技术牛人”,里面的建议很好的回答了“如何突破技能瓶颈”: 1. The world is full of fascinating problems waiting to be solved. 世界充满待解决的迷人问题。如果想成为 hacker, 如果想突破瓶颈,首先得对所专...
昨天有幸邀请到周爱民先生在懒懒交流会上分享《架构,框架和库》,很精彩睿智的讲演,受益颇多。其中提到对架构的一个描述: 架构是把握问题的关键,平衡设计。 很认可。下面是我的些许理解: 什么是把握?在武术届有一种器械训练方式是“抖大杆”:一条白蜡木做的大杆,杆长超过两米,训练者一手把杆,一手握住杆的底部,全身配合双手,将杆抖出各种样式。把和握是两个不同的动作,把的是方向,握的是基底。把握是一种掌控,武...
进入正题之前,先考大家一个问题:defer 属性现在有哪些浏览器支持?喜悦除了 defer 属性,script 还新增了一个 async 属性,请看 MDC: async Requires Gecko 1.9.2 This Boolean attribute is set to indicate that the browser should, if possible, execute the script asynchronously. If the script cannot be executed asynchronously, or the browser doesn’t support this attribute, the script is executed sy...
规律:半角空格的 charCode 为 32, 全角空格为 12288. 其他半角字符 ( 33
看到最近有讨论,前些日子刚好也收集过一些资料,补充如下:字符引用在 html 中,有三种字符引用方式(参考 HTML5 规范): Named character references, 通过名称来引用。在 HTML 4.01 中称之为 Character entity references(字符实体引用)比如 < > ", 这里有一份详细列表 named-character-references Decimal numeric character reference, 通过十进制数值来引用。比如 å &...
1. trim1 中使用的正则优化:pre-check of required character and start of string anchor, 在最新的 JS 引擎中已经内置。trim4 也得到了非常好的优化,比 trim1, trim2 都快。
2. trim8 在 IE 中依旧非常有优势。这是因为 IE 对 \S\s (any character token) 有非常好的优化。另外 ?: (non-capturing group) 对性能也有提升。
3. trim10 是非正则实现方案,速度飕飕的。原文中指出关键点:正则在处理过程中无法直接跳转到字符串末尾,从而导致在处理长字符串时耗时稍长。
JS 的加载速度,包括下载和运算两部分(参考 JavaScript Library Loading Speed): Total_Speed = Time_to_Download + Time_to_Evaluate 运算(evaluate)又可细分为解析(parse)和执行(execute)。对于动态语言来说,解析和执行是交替进行的。考虑加载速度时,一般放在一起考虑。通常来说,下载时间是影响 JS 加载速度的关键。这方面的优化已经很成熟,比如 Compressor, GZip, Cache 等等。 evaluation 部分,目前主要优化...
在 如何给 JavaScript 文件传递参数 一文中,介绍了一种传参方式:
这种方式看起来最漂亮最容易被后台程序员接受,但没有考虑到缓存因素。由于参数一般都是变化的,上面的方式会导致 js 文件每次都重新下载,实在是很糟糕。特发此文,警醒!
下面这段代码,你知道有哪些错误吗: var g_bar = \"bar\"; function foo(container, config) { var container = container || document, name = config.name || \"无名氏\", isLive = config.isLive || true; var g_bar = g_bar || \"\"; if(g_foo) { [...]
• 也谈前端开发流程
克军在 WebRebuild 中分享了《LSM 实践》,很不错的议题。下面是我的一些想法。我的理解传统方式:产品经理产出 PRD -> 交互产出 prototype -> 视觉产出 mockup -> 前端产出 demo LSM 方式:PRD -> prototype -> a). 前端做 html b). 视觉做 mockup -> 前端完善 demo 疑惑与讨论 1). 后续环节受前面的影响。这点上,两种方式都受影响。并且前端介入的时间越早,当 PRD 和 prototype 变动时,整体耗费的...
最近疯狂测试 reset.css, 第一个首要测试点就是默认字体。前不久秦歌的帖子和我的再谈,收到了很多朋友的反馈。重新整理了下,请先仔细查看测试页面: web-default-font.html 1. Tahoma 字体的问题,小麦总结过。在 IE6 下,Arial 字体在下划线的显示上的确略有优势,甚至有神奇的魔数 1.231 来让中英文对齐。但除了 IE6, 其它浏览器下,Arial 表现并不好。考虑门户网站的设计趋势,链接加下划线的形式,已逐步去掉,比如 YAHOO 首...
秦歌这篇文章总结得很不错,俺挑刺来啦: 1. 优先级的描述不严谨,有 !important 时,网页样式可以覆盖用户自定义样式。用户!important > 网页!important > 用户 > 网页 > 浏览器默认。 2. Tahoma 字体从 Win95 就有了,并且从 Win2000 开始,Tahoma 成为 Win 英文系统的默认字体。2007 年,在 Mac OS X v10.5 (Leopard) 中也开始内置 Tahoma 字体。至今,普及性还是相当不错的。 3. Google, YAHOO 等网站,首选 A...
在 JavaScript 中,可以用 instanceof 来判断一个对象是不是某个类或其子类的实例。
循环语句有各种写法,哪种效率最高呢?测试页面:loop-test.html 结论: 效率很差的几个方式:arr.forEach 遍历(原生也慢),for in 遍历, arr.pop() 判断,arr[i] 判断。这些写法或许很酷很精简,但对性能有要求时,最好避免使用。多测试几十次,看统计平均结果,在 Firefox 下:++i < i++ < i = i + 1 < i += 1. 原因可以回溯到汇编语言。当然,这更多是编码习惯问题,对性能的影响可以忽略不计。推荐采用最常用...
近3天十大热文
- [47] 如何拿下简短的域名
- [47] 图书馆的世界纪录
- [47] Oracle MTS模式下 进程地址与会话信
- [47] IOS安全–浅谈关于IOS加固的几种方法
- [43] android 开发入门
- [42] 【社会化设计】自我(self)部分――欢迎区
- [41] 读书笔记-壹百度:百度十年千倍的29条法则
- [40] 界面设计速成
- [38] Go Reflect 性能
- [38] 视觉调整-设计师 vs. 逻辑
赞助商广告