转载

继承、原型、setInterval

来看一道面试题:

小贤是一条可爱的小狗(Dog),它的叫声很好听(wow),每次看到主人的时候就会乖乖叫一声(yelp)。从这段描述可以得到以下对象:

function Dog() {        this.wow = function() {                alert(’Wow’);       }        this.yelp = function() {               this.wow();        } } 

小芒和小贤一样,原来也是一条可爱的小狗,可是突然有一天疯了(MadDog),一看到人就会每隔半秒叫一声(wow)地不停叫唤(yelp)。请根据描述,按示例的形式用代码来实现 (提示关键字: 继承,原型,setInterval)

思路当然是这样的:用原型来继承,setInterval来循环。于是就有了以下代码

     function madDog(){             }             madDog.prototype=new Dog();             madDog.prototype.yelp=function(){                 setInterval(                     this.wow()                 ,500);             }             var test=new madDog();             test.yelp();

问题出来了:控制台只打出了一个wow,并没有隔半秒就打印wow。

原文  http://colagao.farbox.com/post/qian-duan/ji-cheng-yuan-xing-setinterval
正文到此结束
Loading...