函数对象学习

对象

1、什么是对象?

对象是一种数据类型(复合数据类型),对象中包含了属性和方法

(1)属性:表示对象的静态特征。使用方式为 “ 对象名.属性名”

(2)方法(函数):表示对象的行为(动态特征)。使用方式为“对象名.方法名(【参数】)”

2、对象的定义:

(1)使用字面量:{ }

        let 对象名 = {

                属性名:属性值

                方法名:function(【参数】){

                        函数体语句

                }

        }

(2)使用Object:

a、let 对象名 = new Object()

        对象名.属性名 = 属性值

        对象名.方法名 = function(【参数】){

                函数体语句

        }

b、let 对象名 = new Object({

        属性名:属性值

        方法名:function(【参数】){

                函数体语句

        }

})

(3)使用构造函数创建对象

a、定义构造函数:

function 构造函数名(【参数】){

        this.属性名 = 属性值

        this.方法名 = function(【参数】){

                函数体语句

        }

}

b、创建对象

let 对象名 = new 构造函数名(【参数】)

3、对象访问属性和方法

        对象名.属性名

        对象名.方法名(【参数】)

        对象名['属性名']

        对象名[方法名]()

4、遍历对象的属性和方法:使用for...in循环

let people = {
            id: '1001',
            name: '张三丰',
            age : 88,
            show:function(){
                console.log('姓名:',this.name)
            }
        }

        for(let p in people){
            console.log(p+':'+people[p]) //p既是people对象的属性名或方法名,也是索引
        }

5、对象数组--数组中存放的是对象*(数组中的每个元素都是对象)*

//1.创建一个构造方法:Student
        function Student(name,city){
            this.name = name
            this.city = city

            this.html = 0  //html属性的默认值为0
            this.css = 0   //css属性的默认值为0
            this.show = function(){
                console.log('姓名:',this.name)
                console.log('城市:',this.city)
                console.log('Html成绩:',this.html)
                console.log('Css成绩:',this.css)
            }
            this.getSum = function(){
                return this.html + this.css
            }
        }

        //2.创建对象
        let s1 = new Student('贾宝玉','南京')
        s1.html = 78
        s1.css = 69

        let s2 = new Student('林黛玉','镇江')
        s2.html = 85
        s2.css = 90
       
        let s3 = new Student('王熙凤','南京')
        s3.html = 75
        s3.css = 78

        let s4 = new Student('薛宝钗','南京')
        s4.html = 82
        s4.css = 65

        //3.定义数组:将s1~s4对象存入该数组
        let arr  = [s1,s2,s3,s4] //arr就是对象数组
        let temp = [s1,s2,s3,s4]
        console.log(temp)
        //4.对数组中的对象按总成绩降序排列
        for(let i=0;i<arr.length;i++){
            for(let j=0;j<arr.length-1;j++){
                if(arr[j].getSum() < arr[j+1].getSum()){
                    let t = arr[j]
                    arr[j] = arr[j+1]
                    arr[j+1] = t
                }
            }
        }
        console.log(arr)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值