object的增 删 改 差 and 属性名 属性值

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        //Object对象
        /*
            js中表示一个人的共同信息
            var name = 'liuyun';
            var age = 18;
            var gender = 'man';
            基本数据类型的数据,所创建的变量是独立的,无法成为一个整体

            将三个数据统一放到一起
            这样就属于同一个对象,建立起来了联系
            对象是一个复合的数据类型,在对象中可以保存多个不同数据类型的属性
            对象关系明确,便于操作

            对象的分类:
                1.内建对象
                      - 在ES标准中定义的对象,在任何的ES中都可以使用
                      - 比如Math String Number Boolen Function Object
                2.宿主对象
                      - 由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象
                      - 比如BOM(浏览器对象模型)  DOM(文档对象模型)
                      - console,log() 
                      - documnet.write()//console and document 都是宿主对象
                3.自定义对象
                      - 由开发人员自己创建

            
            创建对象:
                var obj = new Object();
                    使用new关键字调用函数,是构造函数(constructor)
                    构造函数是专门用来创建对象的函数
                console.log(obj);//返回一个空对象 object()
                console.log(typeof obj)//返回object对象

           增 - 向对象添加属性:
                对象中保存的值为属性
                语法: 对象.属性名 = 属性值;
                向obj中添加name属性
                obj.name = 'liuyun';
                添加gender属性
                obj.gender = 'man';
                添加age属性
                obj.age = 18;
                console.log(obj); //{name: "liuyun", age: 18, gender: "man"}
            查 - 读取对象中的属性:
                语法:对象.属性名
                console.log(obj.name);//liuyun
                console.log(obj.age);//18
                console.log(obj.gender);//man
                console.log(obj.adress);//如果读取对象中没有该属性,不会报错会返回undefined
            改 - 修改对象中的属性值:
                语法:对象.属性名(新值)
                obj.name = 'lebulang';
                console.log(obj.name)//lebulang
            删 - 删除对象的属性
                语法:delete 对象.属性名
                delete obj.name;    //删除了name属性


        */
        var obj = new Object();
        //添加属性  
        obj.name = 'liuyun';
        obj.var = 'hi';
        // obj .123 = 89; //erro
        // obj['123'] = 456;
        // obj['asdajsldajd2192@(*&^%%'] = 'good';
        //读取也是使用[]这种方式
        // console.log(obj['asdajsldajd2192@(*&^%%']); //good
        // console.log(obj['123']); //456

        // 使用[]这种形式操作属性,[]中可以传递一个变量,改变变量的属性名就可以获得相应的属性值,更加灵活
        // var n = 'name'; //可以随意修改n变量将在下面获得不同的属性值
        // console.log(obj[n]); //liuyun

        //如果需要使用特殊的属性名,不能yon.的方式操作
        //   应该用   对象["属性名"] = 属性值
        // console.log(obj.var); //hi
        // - 对象的属性名不强制要求遵守标识符的规范
        //  什么名字都可以使用,尽量遵守标识符规范

        //属性值
        //  js对象的属性值可以是任意数据类型 对象也可以
        // obj.test = true;
        // obj.test = null;
        // obj.test = undefined;

        //创建一个对象
        var obj2 = new Object();
        obj2.name = 'liudehua';
        //将obj2对象设置成obj属性
        obj.test = obj2;
        console.log(obj); // {name: "liuyun", var: "hi", test: {…}}
        //读取obj2里面的属性
        console.log(obj.test.name); //liudehua

        //in运算符  
        // 通过in运算符可检查一个对象中是否含有某个属性名
        //   语法:'属性名' in '对象'
        //检查obj对象中是否由sex这个属性
        console.log('sex' in obj); //没有该属性则返回false
        console.log('test' in obj); //有则返回true
    </script>
</body>

</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值