构造函数以及遍历对象

目的:

        在我们日常的编程中,常常需要很多个对象,但是一个个创建对象会麻烦还浪费时间,所以我们就可以把对象相同的属性和方法封装到一个函数里面供我们使用,这样我们创建对象就会大大节约时间,可以一次创建多个对象,这个过程也叫做对象的实例化。


构造函数基本书写规范:

function 构造函数名(参数1,参数2.....){

 this.age = age;                          // 必须使用this

}

new 构造函数名(参数1,参数2);


注意:

1  构造函数首字母大写,为了区分普通函数

2 构造函数不需要return

3 只要调用构造函数就必须使用new关键字

4 只要使用一次 new 构造函数()就会创建一个对象

5 构造函数体内的方法和属性必须加this


一、构造函数与对象的区别? 

     构造函数是一大类(类似于java里面的类),而对象是一个具体的事物,就好比图纸与房子,构造函数就相当于图纸,依据图纸创建出房子,这个房子就是对象。

二、new关键字的实现过程

   this.age = age;

1  创建一个空对象

2  this指向这个空对象

3 构造函数给里面添加属性和方法

4 返回这个对象(不用写return的原因)

  

     function Person(name, age, sex) {

            this.name = name;

            this.age = age;

            this.sex = sex;

            this.sing = function(sang) {

                console.log(sang);

            }

        }

        var lxt = new Person('张三', 21, '男');

        lxt.sing('小星星');

        console.log(lxt);

 

注意:尽量保证实参跟形参保持一致

二、对对象进行遍历操作

使用for...in..语句对对象进行遍历

语法格式:

for (  变量(一般是k) in  对象名     )

   function Person(name, age, sex) {

            this.name = name;

            this.age = age;

            this.sex = sex;

            this.sing = function(sang) {

                console.log(sang);

            }

        }

        var lxt = new Person('张三', 21, '男');

        lxt.sing('小星星');

        console.log(lxt);

        for (var k in lxt) {

            console.log(lxt[k]);

               console.log(k);

        }

 k输出的属性名     对象名[k]输出的属性值

  


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值