JS中的对象

对象

js中的对象也可以看成是一个变量,但这个变量中可以继续包含变量,并把里面的变量称为属性,通常属性和对应属性的值是以键值对(key:value)的形式显示的。此外,对象中可以放入函数,放在对象中的函数也可以叫做方法。js中几乎所有事物都被看成是对象,但注意基本数据类型并非对象。

创建对象的方法

  1. var 对象名 = {}
  2. var 对象名 new Object(); 注意new之后的首字母大写
  3. var 对象名 Object.create(null)
    对象里面存储的内容可以是任意数据类型的

查看方法

  1. object.keys() 作用是可以查看对象的所有属性
  2. 查看当前对象中是否有该属性 1. in运算符 2.hasOwnproperty

遍历对象的方法

遍历对象一般使用 for循环

 var xyphone = {
            phone: "华为",
            money: 5000,
            px: 100000000,
            cell: "5000毫安",
            screen: "6.1寸",
            system: "鸿蒙",
            };
            //创建新的属性
            xyphone.cpu = "麒麟9000";
            console.log(xyphone);
            //输出一下  cpu已经添加进去了
            console.log(delete xyphone.px);  //删除对象   如果成功返回的为true  失败为flase   

//var 对象名 new Object();     注意new之后的首字母大写
var dog = new Object();
        dog.eat = "吃狗粮";
        dog.sleep = "呼呼呼";
        console.log(dog);



//var 对象名 Object.create(null)
var cat = Object.create(null);
        cat.eat = "吃老鼠";
        cat.cry = "喵喵喵";




//object.keys()  作用是可以查看对象的所有属性
console.log(Object.keys(xyphone));



//查看当前对象中是否有该属性  1. in运算符   2.hasOwnproperty    有返回true   无返回flase
 console.log("phone" in xyphone);
 console.log(xyphone.hasOwnProperty("money"));


for (var i in xyphone) {
            console.log(xyphone[i]);
        }

内存

为什么第一个变量a不会变,而obj中的张三会变成李四呢?
 var a = 2;
        var b = a;
        b = 4;
        console.log(a);
        var obj = {
            name: "张三"
        };
        var obj1 = obj;
        obj1.name = "李四";
        console.log(obj1.name);
对于变量来说,当一个变量的值赋给另一个变量,第二个变量改变的时候不会影响第一个变量,因为他们在栈中,都是独立存在的,互相不受影响。
对于对象来说,值会存储在堆当中,所以当你赋值给另一个对象的时候,他们指向的都是同一块地址,所以乙方发生改变,另一方也会随之而改变。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值