JS对象的创建

JS对象的创建

创建方式

1.字面量创建

用字面量创建对象是和创建一个变量一样

        //使用字面量创建对象
        var student = {
            name: "xiaoma",
            studentNumber: "202402200001",
            class: "computer-1",
            show: function (girlfriend) {
                console.log(this.name + "的女友是" + girlfriend);
            }
        };
        console.log(student.name);
        console.log(student.class);
        console.log(student.studentNumber);
        student.show("xiaohua");
1.1解析:

(1)下面是我们用字面量创建的对象,这也是在开发中使用最多的创建方式。和创建一个数组是一样的,但不要写成[ ]。

var student = {};

(2)里面的如name等叫做对象的属性,在设置对象属性是一定要注意以下两点。

  • name后面一定要跟英文的冒号“:”

  • 属性与属性之间是用英文逗号隔开的“,”

  name: "xiaoma",
  studentNumber: "202402200001",

(3)像show我们不叫它属性而是称它为对象方法(也就是对象里面的函数),它的创建不用函数名,show就是它的函数名了。调用时用show调用就可以了。同样girlfriend是它的形参。

show: function (girlfriend) {
                console.log(this.name + "的女友是" + girlfriend);
            }

(4)控制台显示和函数调用时注意以下

  • 控制台显示需要注意括号()里面是(对象名.对象属性名),还有对象方法里面使用这些属性是一定要是这样this.name。
  console.log(student.studentNumber);
  console.log(this.name + "的女友是" + girlfriend);
  • 跟上面一样调用是也注意是这样调用的:
    console.log(student.studentNumber);
    console.log(this.name + "的女友是" + girlfriend);
1.2运行结果

请添加图片描述

1.3总结
  • 有学过c语言的可以感受到和c语言中的结构体类似。
  • name后面一定要跟英文的冒号“:”
  • 属性与属性之间是用英文逗号隔开的“,”
  • 控制台显示需要注意括号()里面是(对象名.对象属性名),还有对象方法里面使用这些属性是一定要是这样this.name,函数调用也一样。

2.使用new关键字创建对象

使用new创建的对象是一个空对象,它没有花括号,要在外面设置对象属性。

        var student = new Object();
        student.name = "xiaoma";
        student.class = "computer-1";
        student.studentNumber = "202402200001";
        student.show = function (girlfriend) {
            console.log(this.name + "的女友是" + girlfriend);
        };
        student.show('xiaohua');
2.1解释

(1)先使用new关键词创建一个空对象,这里有一个非常重要的点就是这里的Object中的O是大写。

var student = new Object();

(2)创建完空对象我们给空对像添加属性,还有对象方法。这里注意的事项还挺多的我在下面罗列出来。

  • 这里设置属性是在外面设置属性所以属性与属性之间是用英文分号“;”隔开的。

  • 在设置属性时不像前面直接是(属性名:值),而是要把对象名加上。比如:

  • 属性名与值之间是用等号而不是冒号。

  student.name = "xiaoma";
  • 同理创建对象方法和字面变量也有不同是下面的样子设置。
student.show = function (girlfriend) {
            console.log(this.name + "的女友是" + girlfriend);
        };

(3)使用对象和字面变量一样在这不再罗列。

2.2运行结果

请添加图片描述

2.3总结
  • 这里设置属性是在外面设置属性所以属性与属性之间是用英文分号“;”隔开的。
  • 在设置属性时不像前面直接是(属性名:值),而是要把对象名加上。
  • 属性名与值之间是用等号而不是冒号。
  • 同理创建对象方法和字面变量也有不同是下面的样子设置。

3.通过构造函数创建对象

在我们使用对象描述一个学生创建一个对象,这样当学生数量增加时相应创建的对象也就多了,浪费空间,而且每个学生都有共同的特点。现在使用构造函数的形式创建对象,可以让每个学生调用共同的属性。

        function Student(name, age) {
            this.name = name;
            this.age = age;
            this.sayHelloTo = function (name) {
                console.log('你好!' + name);
            };
        }
        var student1 = Student("xiaoma", 22);
        var student2 = Student("xiaohua", 18);
        var student3 = Student("xiaomei", 18);
3.1解释

(1)和创建函数一样,有形参。这里的属性是用this进行设置的。this在下面的篇幅中会讲到。

(2)对象的方法的创建和前面大同小异。

​ **(3)对象的调用和函数的调用相同。

注释:下一节:对象的使用、对象属性的使用、对象方法的使用以及内置对象。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值