13.js对象

发布于:2024-05-24 ⋅ 阅读:(143) ⋅ 点赞:(0)

定义

一种复杂数据类型,是无序的(不保留键的插入顺序),以键值对({key:value})形式存放的数据集合      

对象的创建

(1)字面量创建

         var 对象名={ }

(2)内部构造函数创建

        var 对象名=new Object()

对象的增删改查

(1)点操作   (属性名也成为键名)

        ——增:对象名.属性名=值

        ——删:delete 对象名.属性名

        ——改(同增):对象名.属性名=值

        ——查:对象名.属性名

                若属性名存在则返回对应值,否则为undefined

(2)数组关联语法

        ——增:对象名['属性名']=值

        ——删:delete 对象名['属性名']

        ——改(同增):对象名['属性名']=值

        ——查:对象名['属性名']

               若属性名存在则返回对应值,否则为undefined

// 创建一个学生对象
var student=new Object() //或 var student={}

console.log(student)  //{}

// 学生对象的属性有姓名、学号、性别、年龄等等
// 添加姓名和年龄的属性:
student.name='张三'
student.age='10'
console.log(student)  //{name: '张三', age: '10'}

// 删除年龄属性
delete student['age']  //或 delete student.age
console.log(student)   //{name: '张三'}

//修改 如果对象中以及有name属性,那么此点语法就是修改属性值,如没有name属性,那么就是添加
student.name='lisi'     
console.log(student)   //{name: 'lisi'}

//查
console.log(student.name,student.sex,student['name'])  //lisi undefined lisi

区别:

        当对象名不符合变量命名规范,只能用数组关联语法

        当涉及变量使用,也只能用数组关联语法,如:

        var obj={name:'张三',age:15}

        vae x='name'

        console.log(obj[x])——>[]内不能加引号,加引号是字符串不是变量,此时x是变量

对象的遍历

语法: for(var 变量 in 对象名){ }

in关键字:可以用来判断对象中是否存在某属性,若存在返回true,否则返回false

      语法:属性名 in 对象名

对象的静态方法

Object.keys(对象名)——获取对象的属性名,以数组的形式返回

Object.values(对象名)——获取对象的属性值,以数组的形式返回


网站公告

今日签到

点亮在社区的每一天
去签到