2022-01-13

  /* 空对象,几乎不占内存

    修改Student的prototype对象,不会影响到Person的prototype对象 */

    /* 父类 */

    function person(){}

person.prototype.head = 1;

person.prototype.foot = 2;

/* 子类想继承父类的属性 */

function f(){}

/*把父类的原型直接赋值给空对象的原型上*/

f.prototype = person.prototype;

/*把空对象的实例化对象给到子类的原型上*/

Student.prototype = new f();

let stu1 = new Student();

/* console.log(stu1.foot) */

Student.prototype.age = 30;

let p =new person();

console.log(p);

/*把空对象的实例化对象给到子类的原型上*/

Student.prototype = new f();

/*★constructor构逢 器都是指向自己的*/

Student.prototype.constructor = Student;

let stu1 = new Student();

console.log(stu1.foot);

console.log(stu1);

/* 不会影响到Person的Prototype对象 */

Student.prototype.age = 30;

let p = new person();

console.log(p);

/*原型链就是一层一层向上找的过程 */

/*原型链维承就是利用了上面这种特性*/



     /* instanceof

        来判断这个实例(p1)是不是这个构造函数(Person)实例化出来的对象*/

        /* console.1og(p1 instanceof Person);  */ /* =>true */

        // console.log(p1 instanceof Student); /* =>false */

        /* 万物皆对象 */

        // console.1og(p1);



  // function clearSpace(){}

String.prototype.clearQSpace = function(){

    return this.replace(/^\s+/,'')

}

let nStr = '  abc'.clearQSpace();

console.log(nStr);

/* 'abc'.clearQSpace(); */

/* 去除字符串前后空格 */

String.prototype.clearQSpace = function (){

    return this.replace(/^\s+|\s+$/g,'')

}

let nStr = '   abd    ',clearQSpace();

console.log(nStr);

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.原型概念: <!-- 每个函数都有一个原型属性 prototype 是一个指针指向一个对象 用途是包含...
    GGYY丶阅读 1,254评论 0 0
  • JavaScript封装 继承 多态 1.封装(和java,c++一样) 1.1 首先了解一下什么是对象的私有变量...
    煤球快到碗里来阅读 1,852评论 0 0
  • 构造函数 /* new 先创造了一个实例化对象,并且把this给了实例化对象per1 */ let per...
    冲锋敢死曾小贤阅读 1,339评论 0 0
  • 十二、类和对象进阶2 1.自执行方法 定义一个自执行函数,函数定义完成后,自己执行一次,函数名可以省略,因为没有任...
    默默_01cf阅读 1,118评论 0 0
  • script> /* 父类 */ function Person(){ // this.head ...
    古月梦回阅读 845评论 0 0