首页 /  技术专区  /  JavaScript 宽屏模式 >

JavaScript对象

1. 对象是什么

对象 (object):JavaScript里的一种数据类型。

可以理解为是一种无序的数据集合,注意数组是有序的数据集合。

用来描述某个事物,例如描述一个人。

    > 人有姓名、年龄、性别等信息、还有吃饭睡觉打代码等功能。

    > 如果用多个变量保存则比较散,用对象比较统一。

比如描述班主任信息。

    > 静态特征(姓名,年龄,身高,性别,爱好)=> 可以使用数字,字符串,数组布尔类型等表示。

    > 动态行为(点名,唱,跳,rap)=> 使用函数表示。

let obj = {
    name: '坤坤',
    age: 18,
    sex: '男'
}


2. 对象使用

1.对象声明语法

let 对象名 = {}
let 对象名 = new object()

例如:

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

实际开发中,我们多用花括号。 {} 是对象字面量


2.对象有属性和方法组成

属性:信息或叫特征(名词)。 比如 手机尺寸、颜色、重量等...

方法:功能或叫行为(动词)。 比如 手机打电话、发短信、玩游戏...

你还能举例吗?

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


3.属性

数据描述性的信息称为属性,如人的姓名、身高、年龄、性别等,一般是名词性的。

let obj = {
    name: '坤坤',
    age: 18,
    sex: '男'
}


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

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

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

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


对象的操作

对象本质是无序的数据集合,操作数据无非就是 增 删 改 查 语法

Image.png

属性-查

声明对象,并添加了若干属性后,可以使用 . 获得对象中属性对应的值,我称之为属性访问。

语法:对象名.属性

简单理解就是获得对象里面的属性值

let obj = {
    name: '坤坤',
    age: 18,
    sex: '男'
}
console.log(obj.name)
console.log(obj.age)
console.log(obj.sex)


属性-查的另外一种写法

对于多词属性或则 - 等属性,点操作就不能用了。

我们可以采取: 对象['属性'] 方式,单引号和双引号都阔以

let person = {
    'user-name': '坤坤',
    age: 18,
    gender: '女'
}
console.log(person['user-name'])    // 坤坤


属性-改

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

let obj = {
    name: '坤坤',
    age: 18,
    sex: '男'
}
obj.sex = '女'
console.log(obj.sex)    // 女


属性-增

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

let obj = {
    name: '坤坤',
    age: 18,
    sex: '男'
}
obj.hobby = '唱跳rap篮球'
console.log(obj)    // {name: '坤坤', age: 18, sex: '男', hobby: '唱跳rap篮球'}


属性-删 (了解)

语法:delete 对象名.属性

let obj = {
    name: '坤坤',
    age: 18,
    sex: '男'
}
delete obj.age
console.log(obj)    // {name: '坤坤', sex: '男'}


5.对象中的方法

数据行为性的信息称为方法,如跑步、唱歌等,一般是动词性的,其本质是函数

let person = {
    name: 'andy',
    sayHi: function() {
        document.write('hi~~')
    }
}


1.方法是由方法名和函数两部分构成,它们之间使用 : 分隔

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

3.方法是依附在对象中的函数

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


声明对象,并添加了若干方法后,可以使用,调用对象中函数,我称之为方法调用。

也可以添加形参和实参

let person = {
    name: 'andy',
    add: function(x, y) {
        document.write(x + y)
    }
}
person.add(1, 2)


3. 遍历对象

遍历对象

for 遍历对象的问题:

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

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

let obj = {
    uname : 'andy',
    age: 18,
    sex: '男'
}
for (let k in obj) {
    console.log(k) // 印属性名
    console.log(obj[k]) // 打印属性值
}


一般不用这种方式遍历数组、主要是用来遍历对象

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

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

一定记住: k 是获得对象的属性名,对象名[k] 是获得 属性值




头像
0/200
图片验证码