面向对象----->>原型重写扩充

来源:互联网 发布:java 线程池 获取队列 编辑:程序博客网 时间:2024/06/05 09:11
<!DOCTYPE html><html><head>  <meta charset="UTF-8">  <title></title></head><body></body><script type="text/javascript">  function Person(name,age) {    this.name="刘帅哥";    this.age= 18  }  Person.prototype = {//   constructor:Person,//手动指向Person       say: function() {      console.log("我的名字是:" + this.name + ",我今年" + this.age + "岁了");    }  }  var p1 = new Person();  p1.say()  //原型重写扩充  var p2 = new Person();  p2.name = "张三";  //  delete p2.name;  //可以使用delete语句删除对象中自己的属性,那么就会找到原型中的值  p2.age = 20;  p2.say();  //常见的原型检测方式  //可以通过如下的方式检测p1是不是指向Person的原型对象  console.log(Person.prototype.isPrototypeOf(p1));  //检测p1的构造器是否指向Person对象  console.log(p1.constructor == Person);  //检测某个属性是不是自己内存中的  console.log(p1.hasOwnProperty("name"));  console.log(p2.hasOwnProperty("name"));</script></html>