【JS】对象Object

本文介绍了JavaScript中对象的概念,包括广义和狭义的理解,强调Object类型作为值的无序集合。文章详细讲解了如何声明和初始化Object对象,包括直接量方式和使用Object函数。此外,还阐述了对象属性的读写、遍历、删除以及判断属性存在的方法,提供了多个示例来说明这些操作。
摘要由CSDN通过智能技术生成

一、对象概念

  • 广义理解的对象:
    一切皆对象,任何数据都是对象;
    数组、函数都是对象的一种,数字、字符串、布尔值也有对象的形态
  • 狭义理解的对象:
    单指 Object 数据类型,与数组、函数是平等的,都属于对象类型的一种

二、Object类型

1. 什么是Object对象

  • Object 对象是值的无序集合
  • Object 对象由属性组成; 属性由属性名和属性值组成。
  • Object 对象的属性名是字符串形式,属性值可以是任意类型的数据
  • 如果某个属性的值是 function 类型的数据,该属性可以称为方法

2. 声明Object对象

  1. 直接量方式

    // 声明一个空的对象
    {};
    // 声明对象并设置属性
    {
        name: 'xxx',
        age: 12,
        'home-address':'xxx',
        users: [100,200,300,400,500,6000],
        child: {name:'obj2-child'},
        getInfo: function(){
        	console.log('getInfo');
        },
        'set^name': function() {
        	console.log('set^name');
        }
    };
    

    属性名的命名在语法上没有任何要求,但是如果符合标识符规范,可以省略引号

  2. 使用Object函数
    只能创建一个空对象,不能在创建的同时设置属性

    var obj = Object()
    
  3. 使用Object构造函数
    只能创建一个空对象,不能在创建的同时设置属性

    var obj = new Object()
    

3. 属性的读写

读取不存在属性会自动得到undefined;给不存在的属性赋值表示添加该属性

  • 使用点语法访问对象.属性名

    // 创建对象
    var obj = {
    	users: [100,200,300,400,500,6000],
        age: 12,
        getInfo: function(){
        	console.log('getInfo');
        },
    };
    console.log(obj.age);		//12
    console.log(obj.getInfo);	//[Function: getInfo]
    obj.getInfo()				//getInfo
    obj.age += 10
    console.log(obj.age);		//22
    obj.email = 'sssss@'
    console.log(obj.email); //sssss@
    
  • 使用[]语法访问对象['属性名']
    属性名不符合标识符规范和使用变量表示属性名时必须使用[]语法

    var obj = {
      users: [100, 200, 300, 400, 500, 6000],
      age: 12,
      'home-address': '江苏',
    };
    var prop = 'users'
    
    console.log(obj["home-address"]);
    // 浏览器会认为输出 对象obj中属性名是 prop 的属性
    console.log(obj.prop);      //undefined
    // 浏览器认为 prop 是变量,变量的值才是属性名
    console.log(obj[prop]);     //[ 100, 200, 300, 400, 500, 6000 ]
    // 浏览器会认为输出 对象obj中属性名是 prop 的属性
    console.log(obj['prop']);   //undefined
    

4. 遍历对象的属性

for(var i in 对象) {
    i; // 属性名
    对象[i]; // 属性值
}

5. 删除对象中的属性

使用一元运算符 delete

delete 对象.属性名;
delete 对象['属性名'];

6. 判断对象中是否存在某个属性

使用二元运算符 in ,表达式的结果是布尔值:

'属性名' in 对象;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值