摘要: winter 发了篇 javascript 词法,的总结帖:http://www.cnblogs.com/winter-cn/archive/2012/04/17/2454229.html我就借花献佛的把,自己的注解笔记也放出来吧. 做个参考 (不过依然是格式问题,懒得整理了.evernote里贴过来总是这么郁闷)词法ECMAScript程序的源代码,首先会被分转化为一系列的输入元素(input elements),包括:标记或记号(tokens), 行终结符(line terminators), 注释(comments),或空白(white space). 词法文法(lexical gram 阅读全文
posted @ 2012-04-18 02:17 Franky 阅读(2182) 评论(2) 推荐(1) 编辑
摘要: 正美今天扔出来的类似下面的代码:参考代码:var o = { test: function () {alert('origin')}};o.test(o.test = function(){ alert('changed'); }); 这段代码,我们直觉,觉得打印 origin 才是合理的. 至少我个人是这样认为的.但是.Chrome17-, IE8- 都会打印changed . 而 Firefox0.8+,Safai3+, Opera9.2+,IE9+ 则都打印origin. 出现这个问题的根源,我们通过翻看 ES3和ES5,可以找到原因. 原来ES3和ES5 阅读全文
posted @ 2011-12-02 11:34 Franky 阅读(3530) 评论(9) 推荐(2) 编辑
摘要: 说明:本帖主要针对各个环节的缓存代理,以及本地用户代理(浏览器)上的缓存策略.ps:应舍瓦大大要求,从我的evernote里翻找出这篇和cache相关的东西. 难免有错漏指出,欢迎指正.代理服务器简分类:(并不太全,仅当科普, 了解代理在web中的重要作用是有必要的.这里仅仅是简单介绍下.)缓存角度分类:(1) 缓存代理 : 根据某种约定,缓存曾经请求过的数据(2) 常规代理 : 只转发请求的那一种.并不缓存数据的代理控制方分类:(1) 反向代理:(对于原始服务器来说,反向代理即是一个客户端) a) 服务提供者主观使用,并控制. b) 相对其他客户端来说,离原始服务器最近(主观上) ... 阅读全文
posted @ 2011-11-23 13:14 Franky 阅读(22145) 评论(10) 推荐(7) 编辑
摘要: var namespace = {};void function (window, document, ns, undefined){ ns = window[ns]; if(!window.performance || ns.Performance){ //performance api , (Date : 2011-11), ie9+(包括兼容模式), chrome11+, Firefox7+ . (Safari,Opera. 没有实现) return; } var mixin = function (oTa... 阅读全文
posted @ 2011-11-21 16:30 Franky 阅读(4621) 评论(0) 推荐(0) 编辑
摘要: 支持浏览器: IE9+,Chrome11+,Firefox7+.宿主对象window.performance. 参考资料:http://msdn.microsoft.com/zh-cn/office/ff975118参考w3c的标准草案:http://w3c-test.org/webperf/specs/NavigationTiming/目前,IE9+和 chrome11+,Firefox7+已经实现了该草案定义的接口.成员:.navigation(一个叫做performanceNavigation的对象.).timing(这玩意是一个被称作performanceTiming的包含了很多成员的 阅读全文
posted @ 2011-11-07 10:50 Franky 阅读(13318) 评论(3) 推荐(3) 编辑
摘要: ES5新增 API . 15.3.4.5.Function.prototype.bind(实现:IE9+,Chrome?懒得去确定版本了,Firefox4+,可惜Safari5没有实现此接口.不过这个完全不是问题.)(产生一个特殊的函数对象,并以第一个参数作为this值去调用被bind的函数,同时把bind时的参数列表与,bind产生的函数对象被调用时的参数列表连接.作为新的参数列表.) bind方法,以一个或多个参数, thisArg以及(可选的)arg1,arg2等等..根据下面的步骤,返回一个新的 函数对象: 1. 令Target 为 this的值. 2. 如果 isCalla... 阅读全文
posted @ 2011-09-21 23:50 Franky 阅读(2836) 评论(3) 推荐(1) 编辑
摘要: 浏览器支持情况:IE10+Firefox4+Chrome11+Opera11.6+Safari5.14+4.2.2 ECMAScript的严格变体的概念.(Strict Variant)ECMAScript语言认可一些用户所期望的,在语言特性实现上施加的某些限制.之所以他们会期望这样,可能是出于安全方面的考虑,又或者是为了避免一些容易出错的地方,获得更好的错误检查 .又或者是其他什么原因.为了支持这个可能性.ECMAScript,定义了一个语言的严格变体.这个变体排除或修改了,正规的ECMAScript语言的一些特性语法和语义的实现. ECMAScript的这种严格变体,一般被称为语言的... 阅读全文
posted @ 2011-09-21 21:24 Franky 阅读(4061) 评论(2) 推荐(0) 编辑
摘要: ES5,为Object添加了一批方法.了解这些方法,可以更好的理解属性描述符的应用. 所以还是很有必要读一读的。另外,这些方法用起来还是蛮给力的.暂时对于ES5,就只放出这些吧,希望对大家有所帮助. 此部分大量提到类似 [[getOwnProperty]]等部分可以参考 :http://www.cnblogs.com/_franky/articles/2143688.html阅读帮助:如果格式难以阅读,请您谅解,因为copy自evernote.排版很纠结. 您可以选择: 1. 换一个足够宽的显示器 2. 调高分辨率 3. 缩小浏览器文字尺寸.15.2 Object对象. 15.2.... 阅读全文
posted @ 2011-08-22 18:52 Franky 阅读(2662) 评论(2) 推荐(0) 编辑
摘要: 写在开头的话.我每篇翻译,都尽量做到.分析和注解.能力有限,难免有错漏之处,欢迎您的指正.此篇,应该是ES5 新增的一个重要概念的总论. 纵观,ES5通篇,都离不开这些新增概念.建议仔细读一读.虽然我个人认为,"老道".在ES5上,有些地方设计的并不合理.但总体来说.是一种极大的进步了.至于新特性的应用.大家将来慢慢体会.如果,您的屏幕不够宽,可能排版看起来会很有问题, 解决办法 : 1. 换一个够宽的显示器, 2. 提高分辨率 3. 缩小浏览器显示文字.8.10 属性描述符和属性标识符. 属性描述符(Property Descriptor)是用于解释某一个被命名的属性具体 阅读全文
posted @ 2011-08-17 22:32 Franky 阅读(2991) 评论(3) 推荐(1) 编辑
摘要: 写在最前面的话: 首先,这将是一个系列的帖子.其次,你进来了,我很不幸的告诉你,这是一个坑,因为我不知道什么时候能放出下一章.管挖不管埋啊. 读ECMA262.第五章-记法约定,有必要先读一下,才好在阅读其他章节的时候.更容易明白,类似Program 和 Program .同样一个词指的东西完全不同,从而更好的进行阅读.所以先搞出这章放着吧. 这部分是平时业余时间翻译出来的,水平有限.难免有错漏的地方.欢迎指正.另外winter 和 hax,两个站着说话,不腰疼的家伙.的意思是.Edition3 out了. 应该搞Edition5.但我坚持以现行标准为主.遇到Edition5有不同... 阅读全文
posted @ 2011-05-02 18:54 Franky 阅读(1488) 评论(5) 推荐(1) 编辑