2010年8月12日

摘要: Nicholas C. Zakas大神今年3月协同他Yahoo团队成员出了一本《High Performance Javascript》的书,在这记录读书笔记1.优化javascript加载和执行[代码]  为什么说这样的方式是inefficient?因为每个<script>标签都会阻塞页面的渲染直到js脚本被完全下载然后执行完毕。而页面的渲染是从浏览器解析到<body>标... 阅读全文
posted @ 2010-08-12 22:34 MoonWalker 阅读(318) 评论(0) 推荐(0) 编辑

2010年8月9日

摘要: JavaScript的setTimeout与setInterval是两个很容易欺骗别人感情的方法,因为我们开始常常以为调用了就会按既定的方式执行, 我想不少人都深有同感, 例如 setTimeout( function(){ alert(’你好!’); } , 0); setInterval( callbackFunction , 100); 认为setTimeout中... 阅读全文
posted @ 2010-08-09 21:25 MoonWalker 阅读(267) 评论(0) 推荐(0) 编辑

2010年8月6日

摘要: IE环境下的event对象 当以DOM0的方式指派事件处理函数时,event对象是作为window的属性存在的[代码]而如果使用attachEvent方法,则与DOM2下的event一样作为一个单独的参数传入函数中 returnValue属性类似与DOM2中的preventDefault(),都可以用来取消事件的默认行为 [代码]cancelBubble属性对应DOM2中的stopPropag... 阅读全文
posted @ 2010-08-06 17:04 MoonWalker 阅读(468) 评论(0) 推荐(0) 编辑

2010年8月4日

摘要: 事件流(event flow)如果一张纸上有一组同心圆(我们可以认为是大圆嵌套着小圆),当你用手指放在纸的中间(圆心), 我们应该认为你所碰到的不仅仅是哪一个圆,而是所有的圆,因为你的手指处在所有圆的范围内,也就是说你不光指向了最里面的圆,同时指向了它的容器(大圆认为是容器,小圆嵌套在里面),然后向上递归。同样的道理,如果你在页面上点击了一个按钮,那就不仅仅是点击了这个按钮,也同时点击了这个按钮所... 阅读全文
posted @ 2010-08-04 10:34 MoonWalker 阅读(237) 评论(0) 推荐(0) 编辑

2010年7月28日

摘要: DOM即文档对象模型,是由ECMA定义的操作html/xml的API,但是值得注意的是IE中的DOM对象都是由COM对象来表示的,也就是说他们和原生的js对象在操作上可能会不同。浏览器渲染的顺序为: 1 HTML解析完毕。 2 外部脚本和样式表加载完毕。 3 脚本在文档内解析并执行。 4 HTML DOM 完全构造起来。 5 图片和外部内容加载。 6 网页完成加载。HTML可以由树形结构... 阅读全文
posted @ 2010-07-28 23:02 MoonWalker 阅读(322) 评论(0) 推荐(0) 编辑

2010年7月27日

摘要: 前面好像说过,js中没有类似c#,java的语法区块的概念。在for循环中定义的变量,离开了循环体后,仍然可以使用,如:[代码]另外,就算在声明一个变量,并且赋值后再声明这个变量不会有任何问题,js会忽略重复的声明[代码]c#和java中语法区块的作用是用来控制变量的作用域,可js不能直接这样使用,需要采取变通方法,如:[代码]函数的声明被一对圆括号包围,因此js会认为圆括号包围的是表达式,同时表... 阅读全文
posted @ 2010-07-27 11:25 MoonWalker 阅读(251) 评论(0) 推荐(0) 编辑

2010年7月26日

摘要: 首先什么是匿名函数?匿名函数就是没有名字的函数。为什么要有没有名字的函数,而不给每个函数都起名字?有些功能在某个作用域内只用一次而且很简单,没必要取个名字(当然取名字也可以),但是增加了代码冗余,因为这些取名字的工作都是在声明函数,声明函数是个苦力活,因为你一直在敲那些重复的function后面跟函数名,同时还要注意命名还不能跟已有函数重名,否则会覆盖。最重要的是减少了代码量却实现了相同的功能,维... 阅读全文
posted @ 2010-07-26 23:41 MoonWalker 阅读(303) 评论(0) 推荐(0) 编辑

2010年7月22日

摘要: 请指出一下代码的性能问题,并经行优化。 var info="腾讯拍拍网(www.paipai.com)是腾讯旗下知名电子商务网站。"; info +="拍拍网于2005年9月12日上线发布,"; info +="2006年3月13日宣布正式运营,"; info +="是目前国内第二大电子商务平台。"; info=info.split(","); for(var i=0; i<in... 阅读全文
posted @ 2010-07-22 16:08 MoonWalker 阅读(709) 评论(2) 推荐(0) 编辑

2010年7月20日

摘要: 1.为了兼容XHtml,对于inline javascript,把代码包裹在//<!CDATA[与//]]>之间。2.使用外部javascript引用的好处:良好的可维护性(js文件可放在同一个目录中) 、缓存(当2个文件引用同一个外部JS时,js文件只下载一次)、避免了XHTML兼容性的问题。3.一般在<body>标签底部引入javascript,目的是为了减少当java... 阅读全文
posted @ 2010-07-20 00:08 MoonWalker 阅读(351) 评论(2) 推荐(0) 编辑

2010年7月14日

摘要: Unity是微软P&P推出的一个开源的IoC框架,最新的官方版本是2.0。Unity之前的版本建立在一个称为ObjectBuild 的组件上,熟悉EnterLib的读者,相信对ObjectBuild不会感到陌生。对于EnterLib 5.0之前的版本,ObjectBuild可以说是所有Application Block的基石。ObjectBuild提供一种扩展、可定制的对象创建方式,虽... 阅读全文
posted @ 2010-07-14 10:41 MoonWalker 阅读(227) 评论(0) 推荐(0) 编辑

导航