5.构造器

来源:互联网 发布:网络平台的商业模式 编辑:程序博客网 时间:2024/06/12 19:35

在javascript中我们常见的创建对象方法为

            var Person = {              name : "Ruger",              age : 20            };            console.log(Person.name + " " + Person.age);//Output Ruger 20

也可以写作

            var Person = new Object({name:"Ruger",age:20})            console.log(Person.name + " " + Person.age);

我们心中不禁会思考这两种创建对象方式有什么不同呢?

在javascript中每个对象在被创建之后(代码运行中被赋值后) 都会默认添加一个constructor构造器,通过构造器可以发现

          var o = {};          var p = new Object();          console.log(o.constructor);//Output function Object() {}          console.log(p.constructor);//Output function Object() {}          console.log(o.constructor === p.constructor);//Output true

这组例子说明 这两种创建方式是完全相同的,我们内心就不禁又会思考Object函数对象的构造器是什么呢

        console.log(Object.constructor)//Output function Function() {}

那Function函数对象的构造器又是什么呢

        console.log(Function.constructor)//Output function Function() {}

我们会惊奇的发现,他的构造器居然是他本身,这说明Function函数对象是所有对象构造器的最顶层

构造器是什么呢???

构造器 我认为是一个类,当我们创建一个对象他相当于是Object对象的一个实例,而Object本身是Function对象的一个实例,我们利用instanceof判断一个对象是一个类的实例

        var o = {};        console(o instanceof Object);//true        console(Object instanceof Function);//true        console(o instanceof Function)//false
原创粉丝点击