我正在学习
Javascript原型并用这个javascript做了一个小提琴(
http://jsfiddle.net/3MuZa/1/):
function Animal(name,sound) { this.name = name; this.sound = sound; } var dog = new Animal("Dog","Bark"); console.debug(dog.__proto__); Animal.prototype.makeSound = function() {console.log(this.sound);};
有趣的是,console.debug(dog .__ proto__);揭示了makeSound是Animal类原型的一种方法.
但是,我在后面的行中将该方法添加到原型中.为什么控制台注意到原型有一个makeSound方法,如果控制流还没有在我的代码中找到它?
解决方法
控制台是“现场”.即使你先记录它,它也会反映出后来的变化.
据我所知,它在对象,函数,数组上的行为与此类似.但是如果你记录字符串,布尔值和数字,它们会记录它们记录时的含义.