小弟js是个新手,望哪位高人能解释下这段程序什么意思。function Dog() {
this.wow = function() {
alert('Wow');
}
this.yelp = function() {
this.wow();
}}function MadDog() { this.yelp = function() {
var self = this;
setInterval(function() {
self.wow();
}, 500);
}}MadDog.prototype = new Dog();var dog = new Dog();
dog.yelp();var madDog = new MadDog();
// 我用firebug调试,发现程序从这里执行进入到MadDog中的方法的时候,里面的this指针指向的竟然是Dog(),费解了!
madDog.yelp();20分已经是偶的全部家当了,见谅啊!
this.wow = function() {
alert('Wow');
}
this.yelp = function() {
this.wow();
}}function MadDog() { this.yelp = function() {
var self = this;
setInterval(function() {
self.wow();
}, 500);
}}MadDog.prototype = new Dog();var dog = new Dog();
dog.yelp();var madDog = new MadDog();
// 我用firebug调试,发现程序从这里执行进入到MadDog中的方法的时候,里面的this指针指向的竟然是Dog(),费解了!
madDog.yelp();20分已经是偶的全部家当了,见谅啊!
MadDog.prototype = new Dog();先了解语法知识和基础知识 在看别人写的代码
这个自己去找 就不帮你copy了
MadDog.prototype = new Dog();
此时
MadDog.prototype.constructor指向的已经是 Dog了
就是说MadDog对象的所有实例属性,比如yelp.constructor 就是Dog了
也就意味著你的this => Dog咯~~~!//这句话顺着你说的,你容易理解,实际上这句话不严谨。我认为,如果你做前端,这个一定要懂,如果你对js的要求是日常能用,这个属于高级话题了~~~
2#,咱不能要求太多。至于你说的基础,可能要求高了点。我见过的面试者,没几个能做到这题,当然,我不是单纯的找前端开发的。