2011年4月18日

javascript变量作用域之我见

摘要: 相信大家都知道,javascript中变量作用域只有两种,全局作用域与函数中的局部作用域(有人认为不同script节点间也存在一种作用域,称之为段作用域,理由是在后面的script的节点中定义的变量,在这个script节点没有被解析之前,前面的script节点是不能访问这个变量的,这种依赖于代码解析顺序的特殊情况,不在我们这篇文章的讨论之列)。比如下面的代码:var a = 1;function f(b){ var c = 2;}a就是我们声明的全局变量,c就是我们声明的局部变量,b作为函数f的形参,也是一个局部变量。我们再看下面的代码:function outer(){ var o; fun 阅读全文

posted @ 2011-04-18 00:08 鸿蒙! 阅读(1748) 评论(8) 推荐(3) 编辑

2011年4月17日

关于图片的预加载,你所不知道的

摘要: 看完了曼联与曼城的同城德比,还有漫长的两个小时,才能看到期待中的国家德比。无聊的很,左右无事,便来论坛闲逛。看到了一章关于图片预加载的博文,其代码如下:[代码] }; 在网上搜索了一下相关文章,大体上都是这个思路。这个方法功能是ok的,但是有一些隐患。1 创建了一个临时匿名函数来作为图片的onload事件处理函数,形成了闭包。相信大家都看到过ie下的内存泄漏模式的文章,其中有一个模式就是循环引用,... 阅读全文

posted @ 2011-04-17 03:48 鸿蒙! 阅读(16536) 评论(31) 推荐(22) 编辑

2011年4月15日

给页面加速,干掉Dom Level 0 Event

摘要: 现在的web应用越来越复杂,需要响应各种各样的用户触发事件,因而也就不可避免的,需要给我们的html页面上的dom元素增加事件监听函数.我们知道给dom元素绑定事件监听函数的方法有如下3种:1 :页面html:<button onclick=”test();”></button> 2:页面html:<button id=”btn”></button> Javascript:document.getElementById(“btn”).onclick = test;3: 页面html: <button id=”btn”></but 阅读全文

posted @ 2011-04-15 22:44 鸿蒙! 阅读(2544) 评论(11) 推荐(7) 编辑

用最简便的方法获取数组中的最大(最小)值。

摘要: 获取一个数组中的最大(最小)值的最简单的方法,就是对数组进行一次遍历,通过比较,找到其最大(最小)值。但是其实在javascript的原生方法中,已经提供了一些快捷方法,可以实现此功能。1 Array.prototype.sortvar a = [7,3,4,6,10];a.sort(function(a,b){ return (a-b);})注意,sort里的比较函数是一定要传入的,如果不传此函数的话,a.sort()的结果是[10,3,4,6,7];2 Math.max,Math.minvar a = [7,3,4,6,10];var max = Math.max.apply(Math,a 阅读全文

posted @ 2011-04-15 22:10 鸿蒙! 阅读(750) 评论(3) 推荐(1) 编辑

2011年4月14日

Function.prototype.call 内部实现探讨

摘要: 今天在网上看到了一个有意思的js题目,就拿去和同事讨论。本来以为是一个很简单的问题,但越讨论越深入,逐步认识到了这个问题的深度。题目是这样的:1 function f1(){2 alert(1);3 }4 function f2(){5 alert(2);6 }7 var f3 = f1.call;8 f3.call(f2)有兴趣的同学可以运行一下这段代码,看看输出结果。对这个问题的深入探讨,请参考我的博文http://rt0d.iteye.com/blog/1003613,有不同见解,欢迎拍砖。 阅读全文

posted @ 2011-04-14 23:17 鸿蒙! 阅读(496) 评论(2) 推荐(0) 编辑

导航