Dog.prototype.weight = 50; Dog.prototype.run = function() { console.log("I am" + this.name + ", i am run..."); };
// 一条白色的狗 var whiteDog = new Dog('xiao bai', '2');
console.log(whiteDog.name); // xiao bai console.log(whiteDog.age); // 2 console.log(whiteDog.weight); // 50 whiteDog.run(); // I am xiao bai, i am run...
从上面的Demo中可以看出来,实例 whiteDog 可以:
访问到 Dog 构造函数中的属性;
访问到 Dog.prototype 中的属性;
所以。我们可以简单的实现一个 new。
因为new是关键字,我们无法覆盖,所以我们用new2来表示我们的new
使用的时候呢如下:
1 2 3 4 5
functionDog(...){...}; // 使用new var whiteDog = new Dog(...); // 使用new2 var whiteDog = new2(Dog,...);
Dog.prototype.weight = 50; Dog.prototype.run = function() { console.log("I am" + this.name + ", i am run..."); };
// 一条白色的狗的实例 var whiteDog = new Dog('xiao bai', '2');
// console.log(whiteDog.name); // xiao bai // console.log(whiteDog.age); // 2 // console.log(whiteDog.weight); // 50 // whiteDog.run(); // I am xiao bai, i am run...