Javascript——对象的创建

对象

对象(object)是javascript的核心概念,也是最重要的数据类型。javascript的所有数据都可以
被视为对象,javascript提供多个内建对象,比如String,Date,Array。对象是带有属性和方法的特殊数据类型
对象就是一种无序的数据集合,由若干个“键值对"构成,javascript对象满足的这种“键值对”的格式被称为JSON格式

对象有三种创建方式,分别为通过字面量形式创建对象,通过new Object创建,通过Object 对象的create方法创建。

其中通过字面量形式创建对象最常见,后两种则不再太常见

通过字面量形式创建对象

//字面量形式创建对象
        let obj = {};//空对象
        obj.uname = "xhb";
        obj.uage = 18;
        console.log(obj);
        //非空对象,键都是字符串,值可以是六种数据类型中任意一种
        let objj = {
            uname: "xhb",
            uage: 21,
            islike: true,
            say:function(){},
            family:['baba','mama'],
            dog:{
                dname:"大黄",
                dage:2
            }
        };

通过Object对象的create方法创建

let 对象名 = Object.create(null);

            let 对象名 = Object.create(null);
            obj.name = 'xhb';
            obj.age = 18;
            console.log(obj);

通过new Object创建

let 对象名 = new object();

            let obj = new object();
            obj.name = 'xhb';
            obj.age = 18;
            console.log(obj);

对象的序列化和反序列化

序列化即将JS对象序列化为字符串,(JS对象——>字符串)
反序列化即将字符串序列化为为JS对象,(字符串——>JS对象)
JS中调用JSON方法,可以将对象序列化成字符串,也可以将字符串序列化成对象。

序列化对象
JSON.stringify(object);

反序列化对象
JSON.parse(jsonStr);

//首先声明一个对象
        let obj = {
            uname:"xhb",
            uage:99
        }
        console.log(obj);

        //序列化,将对象变成字符串
        let str = JSON.stringify(obj);
        console.log(str);

        //反序列化,将字符串变成对象
        let fucking = JSON.parse(str);
        console.log(fucking);

THIS

this是JavaScript语言中的一个关键字
它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用 随着函数使用场合的不同,this的值会发生变化,但是有一个总的原则,那就是this指的是,调用函数的那个对象

在函数中使用this

//在函数中使用this属于是全局性调用,代表全局对象,通过windows对象来访问
        function lai(){
            this.x = 1;
            console.log(this.x);
        }
        lai();//1
        console.log(x);//1

在对象的函数中使用this,代表当前的上级对象

//首先声明一个对象
        let obj = {
            uname:"xhb",
            uage:99,
            sayhello:function(){
                console.log(this.name);
                console.log(obj);
            }
        }
        console.log(obj);

鄙人觉得跟Java的this对象应该差不多

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值