美文网首页
如何通过构造函数的方式创建一个拥有属性和方法的对象?protot

如何通过构造函数的方式创建一个拥有属性和方法的对象?protot

作者: 蜕变最美的你 | 来源:发表于2017-08-08 10:09 被阅读0次
如何通过构函数的方式创建一个拥有属性和方法的对象?

使用new运算符创建一个构造函数,构造函数F会返回类型为function的name的对象,function可以接受参数,可以根据参数来创建相同属性不同值得的对象,function实例在其作用域中有一个constructor属性,指向的是function本身;

当我们使用new来构造函数对象时,大致分为三步:
1、创建类的实例,这一步是把一个空的对象的proto属性设置为函数.prototype;
2、初始化实例,函数传入参数并被调用,关键字this被设定为该实例;
3、返回实例;

6.png
prototype 是什么?有什么特性?

每一个函数在创建之后都会拥有一个名为prototype的属性,这个属性指向函数的原型对象。
在var x = new Foo()的时候,Foo.prototype,是一个对象,x.proto也引用了这个对象。
当Foo.prototype = null,只是把Foo.prototype这个对象设为了null,而x.proto不改变。x.方法会沿着原型链_proto向上找,直到找到属性方法。直接Foo.prototype.方法= null,修改了对象属性方法的值,x.proto.方法的值也随之改变。
Prototype 是全局属性,适用于所有的Javascript对象

创建一个 Car 对象,拥有属性name、color、status;拥有方法run,stop,getStatus?

 function Car(name,color,status){
        this.name = name;
        this.color = color;
        this.status = status;
        this.Run = function(){
            console.log(this.name+this.color+this.status+'正在行驶');
        };
        this.Stop = function(){
            console.log(this.name+this.color+this.status+'已停车');
        };
        this.getStatus = function(){
            console.log(this.name+this.color+this.status+'状态很好')
        }
    }
    var car = new Car ('BMW','black','round');
    car.Run();
    car.Stop();
    car.getStatus();
画出如下代码的原型图
function People (name){
        this.name = name;
        this.sayName = function(){
            console.log('my name is:' + this.name);
        }
    }

    People.prototype.walk = function(){
        console.log(this.name + ' is walking');
    };
    var p1 = new People('哈哈');
    var p2 = new People('22');
    p1.walk();
    p2.sayName();
1.png

相关文章

  • 如何通过构造函数的方式创建一个拥有属性和方法的对象?protot

    如何通过构函数的方式创建一个拥有属性和方法的对象? 使用new运算符创建一个构造函数,构造函数F会返回类型为fun...

  • 对象-原型

    问题2: 如何通过构造函数的方式创建一个拥有属性和方法的对象? 问题3: prototype 是什么?有什么特性 ...

  • 对象——原型

    问题1: OOP 指什么?有哪些特性 问题2: 如何通过构造函数的方式创建一个拥有属性和方法的对象? 问题3: p...

  • 作业 — 对象

    1.如何通过构造函数的方式创建一个拥有属性和方法的对象? fun1是函数Fun的实例,把fun1的_proto_属...

  • 高级1发表

    问题1: OOP 指什么?有哪些特性问题2: 如何通过构造函数的方式创建一个拥有属性和方法的对象?问题3: pro...

  • JS-对象创建

    使用函数工厂创建对象,通过参数传递对象定制的数据,内部返回包含属性和方法的对象 使用构造函数创建对象,构造函数默认...

  • JavaScript面向对象(二)

    创建对象的方式 通过构造函数 通过字面量 构造函数创建 字面量创建 添加删除对象属性 对象属性不一定必须在定义对象...

  • js原型与原型链

    构造函数 一般情况下我们通过构造函数创建一个对象实例。我们实例对象中的属性和方法都会定义在构造函数内部。 如上,P...

  • 简述原型链是什么,有什么用处?若想访问一个对象的原型,应该使用什

    背景介绍 1.构造函数 构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象。每个构造函数都有protot...

  • 对原型和原型链的理解

    背景介绍 1.构造函数 构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象。每个构造函数都有protot...

网友评论

      本文标题:如何通过构造函数的方式创建一个拥有属性和方法的对象?protot

      本文链接:https://www.haomeiwen.com/subject/tcazlxtx.html