对象

对象

如果 a.b ,那么a就是对象,b是a的属性

如果 a.c(),那么a就是对象,c是a的方法

对象就是拥有一组属性和方法的集合

 定义对象有两种方式: 1.采用字面量赋值方式直接定义。2.采用构造函数的方式new一个对象


1.采用字面量赋值方式直接定义

示例:

let stu1 = {

            // 属性名:属性值

            no:1001,

            name:'张三',

            age:20,

            sex:'男',

            study:function(){

                console.log('学习8小时');

            },

            play:function(){

                console.log('娱乐8小时');

            }

        }

        console.log(stu1);

        // 调用对象身上的属性

        console.log(stu1.name);

        console.log(stu1.age);

        // 调用对象身上的方法

        stu1.study()

        stu1.play()


2.采用构造函数的方式new一个对象

let obj = new Object()

 console.log(obj);

 let obj2 = {}

 console.log(obj2);

console.log('---------------------');

多数情况下,都是先自定义一个构造函数,再通过自定义的构造函数创建出对应的对象

 可以将构造函数理解为 类

 function Student(no,name,age,sex){

( 这里的this用于给构造函数定义成员)

            this.no = no

            this.name = name

            this.age = age

            this.sex = sex

            this.sayHi = function(){

                console.log(`大家好!我是${this.name}`);

            }

        }

        // 通过类可以创建出无数个对象

        let s1 = new Student(1001,'张三',20,'女')

        s1.sayHi()

        console.log(s1);

        let s2 = new Student(1002,'李四',22,'男')

        s2.sayHi()

        console.log(s2);

        let s3 = new Student(1003,'王五',25,'男')

        s3.sayHi()

        console.log(s3);


对象练习-棋子类

定义一个棋子类,里面有四个属性,分别是:名称,颜色,X轴位置,Y轴位置

比如:红色的马,当前位置是(X=15,Y=11)

 里面有两个方法:分别是:

1.显示当前棋子在什么位置

2.移动方法,该方法,需要传两个参数,就是X轴和Y轴的新坐标,

 移动方法执行完后,在方法的最下面,调用一次显示当前位置的方法。

代码如下:

定义一个棋子构造函数(类)

function Chess(name,color,x,y){

// 定义属性

 this.name = name

this.color = color

this.x = x

 this.y = y

 // 定义方法

 // 显示当前位置的方法

 this.show = function(){

        console.log(`${this.color}${this.name}当前位置是X:${this.x} Y:${this.y}`);

 }

  // 移动棋子的方法

this.move = function(x,y){

 this.x = x

 this.y = y

 // 位置更新后,重新调用显示当前位置的方法

  this.show()

     }

 }

 // 创建一个红马

 let redHorse = new Chess('马','红',15,1)

 redHorse.show()

 redHorse.move(13,2)

  // 创建一个黑车

 let blackCar = new Chess('车','黑',1,1)

 blackCar.show()

 blackCar.move(5,1)

输出结果是:

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容