【前端学习笔记】JS构造函数简要

2018-11-13  本文已影响4人  花上

 函数可以封装任意多条语句,而且可以在任何地方、任何时候调用执行。

ECMAScript 中的构造函数本来是函数,但用来创建特定类型的对象。Object 和 Array 是原生构造函数。

构造函数命名始终是以大写字母开头,非构造函数应该以小写字母开头。

例: function Preson(name,age,job){

        this.name = name;

        this.age = age;

        this.job = job;

        this.sayName = function(){

            alert(this.name);

        };

}

        var person1 = new Person("Nichilas",29,"Engineer");

        var person2 = new Person("Greg",27,"Doctor");

创建Person 实例,必须使用 new 操作符。以这种方式调用构造函数实际上会经历4个步骤。

(1)创建一个新对象;

(2)将构造函数的作用域赋给新对象(因此this就指向了这个新对象);

(3)执行构造函数中的代码(为这个新对象添加属性);

(4)返回新对象。


将构造函数当做函数

构造函数和其他函数的唯一区别在于调用方式的不用。构造函数和其他函数的定义方法没有差异。

任何函数,如果使用 new 操作符来调用,那它就可以作为构造函数;而任何函数,如果不用 new 操作符调用,那它就跟普通函数没有区别。

其他构造函数的调用方式

//当做构造函数使用

    var person = new Person("Nicholas",29,"Software Engineer",);

    person.sayName();  //Nicholas""

//作为普通函数调用  

    Person("Gtreg",29,"Doctor");

    window.sayName();  //Greg

//在另一个对象的作用域中调用    

    var o = new Object();

    Person.call (o,"Kristen", 25 , "Nurse");

    o . sayName();  //"Kristen"


上一篇 下一篇

猜你喜欢

热点阅读