JavaScript原型,原型链 ? 有什么特点?

JavaScript原型,原型链 ? 有什么特点?

  • 原型对象也是普通的对象,是对象一个自带隐式的 proto 属性,原型也有可能有自己的原型,如果一个原型对象的原型不为null的话,我们就称之为原型链。
  • 原型链是由一些用来继承和共享属性的对象组成的(有限的)对象链。
  • JavaScript的数据对象有那些属性值?
      writable:这个属性的值是否可以改。
      configurable:这个属性的配置是否可以删除,修改。
      enumerable:这个属性是否能在for…in循环中遍历出来或在Object.keys中列举出来。
      value:属性值。
  • 当我们需要一个属性的时,Javascript引擎会先看当前对象中是否有这个属性, 如果没有的话,就会查找他的Prototype对象是否有这个属性。
function clone(proto) {
  function Dummy() { }
  Dummy.prototype = proto;
  Dummy.prototype.constructor = Dummy;
  return new Dummy(); //等价于Object.create(Person);
 } 
        function object(old) {
         function F() {};
         F.prototype = old;
         return new F();
        }
    var newObj = object(oldObject);

你可能感兴趣的:(js)