JavaScript基础语法--对象

57 阅读1分钟
    // 对象的种类:
    //     1.内建对象:ES
    //     2.宿主对象:浏览器
    //     3.自定义对象
    
    // 对象的声明
    // 1.构造函数
    const obj1 = new Object();
    // 2.对象字面量:可以直接初始化
    // 格式: 属性名:属性值,
    const obj2 = {
        name: '张三',
        age: 18,
        sayHello: function(){
            console.log('hello');
        }
    };

    // 添加元素 对象.属性名 = 属性值
    //         对象["属性名"] = 属性值
    obj1.name = '李四';
    obj2.gender = '男';
    obj1.sayHello = function(){
            console.log('hello');
        };
    obj1["hello"] = 'hello';

    // 删除元素 delete 对象.属性名
    delete obj1.name;

    // 修改元素 对象.属性名 = 属性值
    obj2.gender = '女';

    // 查找元素 对象.属性名
    console.log(obj2.name);
     console.log(obj2.say); //没有的属性返回undefined,不报错

    //  遍历元素 for...in
    for(var n in obj2){
        n 为属性名
        obj2[n]为属性值
        console.log(n,obj2[n]);
    }

    // 检查对象(原型)中是否有指定属性 "属性名" in 对象
    console.log("name" in obj1);

    // 属性名的引号可省略,若属性名特殊必须加引号
    // 属性值可以是任意数据类型

    // 引用数据类型,变量中保存的是地址
    // 基本数据类型, 变量中保存的是值
    const obj3 = obj2; // 传地址
    console.log(obj2);
    console.log(obj3);
    obj2.name = 'baby';
    console.log(obj2);
    console.log(obj3);

    // 回收对象 对象 = null
    obj1 = null;