5.构造器

在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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值