代码改变世界

随笔档案-2012年10月

javascript的setTimeout超时调用

2012-10-10 10:14 by yangpan, 519 阅读, 收藏,
摘要: setTimeout(function(){},1000);该方法会返回一个timeId;可以用clearTimeout(timeId)销毁setTimeout(fn(),0)解释关于0ms的误解:如果当前时钟周期内执行队列空闲,则立即执行该定时器,将回调函数加入到事件队列;var start=0,end=0,d=new Date(),i=0; var timer=setTimeout(function(){ end+=new Date-d;timer=setTimeout(arguments.callee,0);if(i++=5000){clearTimeout(timer);console 阅读全文

javascript面对对象编程

2012-10-10 09:46 by yangpan, 205 阅读, 收藏,
摘要: 在JavaScript中是其实不存在所谓“类”的概念,因为它并不是面向对象的语言。在面向对象中,一个最常见的说法就是:“类”是“对象”的模板,基本上都是采用语言内置的Class或class关键字来定义“类”。而JavaScript不存在这个概念,所以也没有提供类似的关键字(虽然class是JavaScript的关键字,但是至今都没有实现,只是被保留而已)。因此,在JavaScript中创建类就唯有使用模拟的方式,而模拟的手法多种多样,何时采用何种方式最合适,需视情况而定。以下就记录下常见的几种模式。一.工厂模式工厂方法是设计模式中非常基础的,也被广泛用于面向对象编程中。而在JavaScript 阅读全文