JavaScript中对象的理解

对象(object):JavaScript里的一种数据类型,用来描述某个事物

可以理解为一种无序的数据集合(数组是有序的数据集合)。

对象的使用: 

1.对象声明语法

let 对象名 ={}

例如: 

//声明了一个person的对象
let person = {}

2.对象使用

对象由属性和方法组成。

属性:信息或特征(名词),如颜色、重量等...         

let 对象名={
    属性名:属性值,
    方法名:函数
}

//例如:声明对象
let obj={
    uname:'pink老师',
    age:18,
    gender:'女'
}

        属性都是成对出现,包括属性名和值,他们之间使用英文 : 分隔

        多个属性之间使用英文 , 分隔

        属性就是依附在对象上的变量(外面是变量,对象是属性)

        属性名可以使用 "" 或 '',一边情况下可以省略,除非名称遇到特殊符号,如空格、中横线等

方法:数据行为性信息,功能或行为(动词)其本质是函数,如发短信、玩游戏等... 

let person = {
    name : 'andy',

    //方法1
    sayHi : function(){
        document.write('hi~~')
    },
    //方法2
    dance : function(){}
}
//方法的调用
person.sayHi()

        方法是由方法名和函数两部分组成,他们之间使用 : 分隔

        多个属性之间使用英文 , 分隔

        方法是依附在对象中的函数(外面是函数,里面是方法)

        方法名可以使用 ""或 '' ,一般情况下省略,除非名称遇到特殊符号,如空格、中横线等

练习:

声明一个对象,包含如下信息:

        商品对象名字:goods

        商品名称命名:name

        商品编号:num

        商品毛重:weight

        商品产地:address

<script>

let obj = {
    name:'小米10青春版',
    num:'100023456624',
    weight:'0.55kg',
    address:'中国大陆'
}

console.log(obj);    //打印obj

</script>

3.对象中操作数据的增、删、改、查语法

(1)属性-查

        语法:对象名.属性

        即获得对象里面的属性值。

例如:

console.log(obj.address)
console.log(obj.name)

(2)属性-改

        语法:对象名.属性 = 新值

例如:将上述obj对象中的name修改成“小米9青春版”

let obj = {
    name:'小米10青春版',
    num:'100023456624',
    weight:'0.55kg',
    address:'中国大陆'
}
obj.name = '小米9青春版'
console.log(obj.name)    //修改商品名为'小米9青春版'
console.log(obj)

(3)属性-增

        语法:对象名.新属性 = 新值

例如:在obj对象中新增一个price属性

let obj = {
    name:'小米10青春版',
    num:'100023456624',
    weight:'0.55kg',
    address:'中国大陆'
}
obj.price='3900元'  //新增一个price属性
console.log(obj)

  (4)属性-删(作为了解)

        语法:delete 对象名.属性

例如:删除obj对象中的weight属性

let obj = {
    name:'小米10青春版',
    num:'100023456624',
    weight:'0.55kg',
    address:'中国大陆'
}
delete obj.weight    //删除weight属性
console.log(obj)  //打印出的obj中不再有weight值

4.遍历对象

 for遍历对象问题:

        对象没有像数组一样的length属性,所以无法确定长度

        对象里面是无序的键值对,没有规律,不像数组里面有规律的下标

<script>
    //for in 不推荐遍历数组
    //let arr = ['pink','red','blue']
    //for (let k in arr){
    //    console.log(k)    //数组的下标 索引值 但是是字符串'0''1''2'
    //    console.log(arr[k])   //arr[k]
    //}


   //1.遍历对象 for in
    let obj = {
        uname: 'pink老师,
        age: 18
        gender: '男'
    }
   //2.遍历对象
    for (let k in obj) {
        console.log(k)    //属性名 'uname'  'age'
        console.log(obj.[k])   //输出属性值  obj[k]

</script>

注:for in语法中k是一个变量,在循环的过程中依次代表对象的属性名

        由于k是变量,所以必须使用 [ ] 语法解析

        k是获得对象的属性名,对象名 [k] 是获得属性值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值