`
hax
  • 浏览: 951915 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
玉伯发布了es5-safe模块,这是一个有一点类似es5-shim的项目。 个人认为玉伯这个模块对于准备从ES3过渡到ES5的前端开发者来说是一个稳妥的选择。在本文的最后部分会进一步说明。下面的部分是理论性的探讨,无兴趣者可略过了 ...
7月30日在W3CTech广州站活动上的演讲,题目是:ECMAScript 5 —— Improve the Safety of JavaScript 。主要内容是对ECMAScript 5的Strict模式的几个实例介绍,以及其他几个关于代码安全性的例子。 视频:http://v.youku.com/v_playlist/f6520341o1p10.html Slides:http://hax.github.com/2011/es5_safety/ 之前几位嘉宾的演讲视频:http://www.youku.com/playlist_show/id_6520341.html 由于是最后一 ...
也不是第一次了。 但是很久以前文章会回到草稿箱。但是后来有些文章就完全失踪。 这个让人非常不能忍。 过去我批评某书的那篇文章就莫名失踪了。我在其他地方都有备份。也算了。 最近发现我很早以前写的一篇影评也失踪了。 原地址应该是: http://hax.iteye.com/blog/268725 幸好在豆瓣上还有备份 http://movie.douban.com/review/1557937/ 天知道我有多少blog就这样消失了。 所以换地方是迟早的事情了。
前提是不要求做什么特殊标记。只是最大可能的猜测函数的作用大概是当“类”使用。 我想了一个方式: function isClass(f) {   var names = Object.keys(f.prototype)   return names.indexOf('constructor') === -1 || names.length > 1 } 这里的假设是,作为构造器的函数会在其prototype上加公共方法。 prototype上默认是有 constructor 属性(指向函数自身)。那么如果keys(prototype上的属性名列表)的长度大于1,意味着作者执行过 f. ...
玉伯在我的一条微博后面写了一些(和主题不是很相关但)非常值得思考的评论。而这些评论的源头来自于我非常尊敬的不在你们前端界混的JS大师愚公(爱民)。 摘录如下: 玉伯也叫射雕 写道 想起愚公的一番言论:我们做了一个不错的东西,有很多好的 IDEA。最终这些东西却消散了,变成了另外一些更大更好的东西的局部。我们的努力白费了。我们的成果湮没了。我们——我指的是国内的软件开发的现状——什么“好”的东西也做不出来。 其根本的原因并不是我们技术不行,开发能力不好,或者投入不够多。老老实实地讲,这些我们都不会承认。我以前就一直说:我们离最先进的技术的差距只有半年。我们并不差多少,在一个问题上努力耕耘半年, ...
今儿写程序。 对于现代Web前端来说,Selector是必备之物。对于标准浏览器,可用querySelector,而对于IE8标准模式以下,需要一个Selector引擎。 因为本项目会在代码里使用QWrap,所以虽然我写的部分代码并没有用QWrap,但既然怎样都 ...
本文是对如何将let结构转换到ES3代码的补充。 首先,原文所说的将let转换为with的方法有几个缺陷需要说明: 1. with虽然可附加一个新的scope,但是由于引入的是一个JS对象,所以Object.prototype上的属性也被引入了该scope。比方说你无法在with里访问外部的toString()方法,因为你访问到的实际上变成了Object.prototype.toString。 再来一个例子: function login() { var user = getUserNameFromCookie() for (let i = 0; i < 3; i++) ...
最近每次去杭州,都有爱民做东道,这次吃羊排不亦乐乎。席间不免聊起技术话题,爱民问我对JavaScript的未来方向的看法,特别是像Class、Inheritence等静态特性是否会引入语言? 这确实是一个令人关心的问题。很长一段时间以来 ...
可能有不少同学已经了解 alternate stylesheet ,不过实际上author样式表可以被设定为三类: 1. persistent style sheet:总是应用的样式表 2. preferred style sheet:默认应用的样式表 3. alternate style sheet:其他可选的样式表 我们平时通常写的 ...
看到有人抱怨本次W3CTECH 2011——“拥抱HTML5”技术大会是“充满赞助商广告的商业宣传会议”,我个人觉得他缺乏基本的判断能力。 事实上我敢说,本次会议上没有任何硬广告。而且绝大多数讲师都很低调,软广告都很少。 比 ...
最近我做了一点儿针对手机的Web开发和相关研究。按说,Web自设计之初,就已经考虑了设备无关性。然而,现实总是不尽如人意。 我们知道大多数网页都是针对桌面显示器开发和测试的,但是手机屏幕通常要比桌面显示器小很 ...
又到年底,我觉得是时候还债了。自开blog来,我出了不少“太监文”,也就是有上文无下文的。这里就是一篇:《JS之父再谈JS历史(一)》。 今天本来打算把这篇翻译完的,但是才写了几句,准备上网搜索几个背景人物,却发现松峰老师去年这个时候已经帮我还债了! 所以我这篇“续完”实际上是厚颜无耻的把松峰老师的译文链接放在这里了:http://www.cn-cuckoo.com/2009/11/29/brendan-eich-talk-the-popularity-o-javascript-1294.html 不过松峰老师可能是没看那段视频(当年好像油吐吧还不用翻wall,恍如隔世啊),关于视频的 ...
在这次D2上,玉伯介绍了KISSY。我听下来,KISSY有不少设计和我断断续续做的PIES框架的设计是类似的(或许现在的JS类库在许多设计思路上必然会有许多共识)。但是seed、meta之类的概念就不容易理解。后来我看了一下,原来这些概念是爱民给加上的,嘿嘿。当然,即使不看爱民的解说,我们也可以了解大概思路,是系统可从seed动态演化出来。但是meta这样的抽象就有些学院派,特别是不像爱民的QoBean项目本来就是要做元编程,在KISSY内,这个抽象只对内,不对外,也不直接解决实践中构建系统的关键问题,比如namespace和module。meta的作用其实只是使得内核具有一个更加精巧的核心 ...
上一篇blog中我提到了“国内某位前端工程师今年出版的新书”,这里我想就这本书多说几句。 这本书的总体质量,当然肯定比《XX征途》要强。不过仍然出现了一些匪夷所思的bug。譬如说该书的第一章第一节,作者举了一个“糟糕的老网页的实现”的例子,并指出这个页面代码的问题如下: * div布局和table布局混用; * 标签名有大写,也有小写; * 样式组织混乱,有用<style>标签的,有用<link>的,也有直接写在标签内的; * JavaScript的编码风格很不一致; ……(还有好几条,这里略过) 先不论这几条是否一定“不利于维护”,我扫了一下那个“糟糕的老网页的 ...
最近看了国内某位前端工程师今年出版的新书,其中讨论CSS的部分提出了一些观点,罗列如下: 1. 用class命名表现从属关系,如.myList-lastItem(表示.myList列表中的最后一项); 2. 团队开发中用工程师名字作为前缀区分是谁写的样式,如.hax-list(表示是hax写的一个样式规则); 3. 前两者结合可能产生较长的class名,如hax-subNav-item-select,但作者认为利大于弊; 4. 推荐挂多个class,特别是挂若干个“通用原子类”(即通常只包含单个样式规则的class,如对应font-size:12px的.f12),比如<div class ...
Global site tag (gtag.js) - Google Analytics