为什么控制台注意到我在这样做之前更改了原型
Why is console noting that I changed my prototype before I do?
我正在学习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
是动物类原型的一种方法。
但是,我将该方法添加到后面一行的原型中。如果控制流尚未在我的代码中到达原型,为什么控制台会注意到原型具有makeSound
方法?
控制台是"实时"的。 即使您先记录它,它也将反映以后的更改。
据我所知,它在对象、函数、数组上的行为就是这样。但是,如果您记录字符串、布尔值和数字,它们会打印它们在记录时的含义。
相关文章:
- 页面在我的javascript执行后重新加载,我不希望它这样做
- 如何在将鼠标悬停在提交/锚点上时检查复选框是否已选中,并显示提示用户这样做的警报
- JavaScript 如果数组包含名称,则不要这样做
- 我用脚本创建了一个按钮.我可以通过点击按钮调用其他函数吗?我这样做,但失败了
- Jquery语法;也这样做”;
- 如果我不这样做会发生什么;t在javascript中的变量中分配新的Image
- 如果他们不这样做,就从我的数组中删除东西't没有前缀
- 如何使用“;这个“;在javascript中?这样做的目的是什么
- 如果我不这样做会发生什么;t有页码吗?继续循环帖子..为什么需要分页,对于页脚
- 禁用 ALT+F4,是的,我知道不建议这样做
- 使用默认值定义构造函数.我这样做对吗?
- 我刚刚开始使用 MEAN 堆栈.我试图将我的表单提交数据存储到 mongo 数据库,但我无法这样做
- 为什么不这样做
- Node.JS/Javascript - 将字符串转换为整数正在返回 NaN,而我不希望它这样做
- 在angularjs中拥有$sce或严格上下文转义有什么好处,为什么反应不需要这样做
- 如何分解此代码以减少重复(以及应该这样做)
- 嵌套的 if/else 语句讨论了分配变量.我已经这样做了,但它仍然不起作用
- blur() 无法以编程方式工作 |但在从用户启动时会这样做
- Webkit 似乎不支持层上的 $.focus(),而 IE9 支持.无论如何,让webkit浏览器也这样做
- 为什么控制台注意到我在这样做之前更改了原型