关于js中prototype的理解

来源:互联网 发布:js 出生日期计算年龄 编辑:程序博客网 时间:2024/04/20 05:50
///Javascript继承机制的设计思想引用http://www.ruanyifeng.com/blog/2011/06/designing_ideas_of_inheritance_mechanism_in_javascript.html//一个对象都是一个构造函数的实例化  所有的需要共享的方法和属性都放在了prototype中,成为prototype的属性或者方法//而私有的方法和属性则放在构造函数中//关于prototype的测试实验function Animail(name){this.name = name ;}Animail.prototype.spcize = "1"; //spcize 需要共享的属性或者方法var a1 = new Animail("apple");var a2 = new Animail("banana");//这边是用的prototype的属性的引用console.log(a1.spcize);console.log(a2.spcize);//应该是重新创建了spcize对象,覆盖原来的引用,然后进行赋值(猜测) a1.spcize = "2"; a2.spcize = "3";  console.log(a1.spcize); console.log(a2.spcize);  delete a1.spcize;//删除对象specize之后,a1.specize编程Animail。prototype。specize的引用 //delete a2.spcize;  Animail.prototype.spcize = "5";   console.log(a1.spcize); console.log(a2.spcize);


输出如下

1prototype.js:14
1prototype.js:15
2prototype.js:21
3prototype.js:22
5prototype.js:29
3prototype.js:30


0 0