js——对象,JSON格式的数据

1.对象------三种创建对象的方式

    /**
     * js是一门基于对象的语言
     * 
     *创建对象的三种方式:
     * 1.调用系统的构造函数创建对象
     * var 变量名=new Object();Object是系统的构造函数
     *
     * 2.自定义构造函数创建对象
     * 自己定义一个构造函数,创建对象
     * 函数和构造函数的区别:名字首字母是不是大写
     *
     * 3.字面量的方式创建对象
     *
     * 总结:
     * 1.字面量创建对象的缺陷:一次性的对象
     * 2.点语法:对象.名字=值;对象.名字=函数
     * 
     */
    //实例化对象
    var obj=new Object();
    /**
     * 对象有特征-----属性
     *      行为-----方法
     */
    //添加属性:对象.名字=值
    obj.name="小苏";
    //添加方法:对象.名字=方法
    obj.eat=function (){
        console.log("吃");
    };
    //输出
    console.log(obj.name);
    obj.eat();
    
    /**
     * 如何获取该变量(对象)是不是属于什么类型?
     * 语法:变量 instanceof 类型的名字
     * 在当前的对象的方法中,可以使用this关键字代表当前的对象
     */
    console.log(obj instanceof Object);//true
    var person=new Object();
    person.name="小米";
    person.age=13;
    person.say=function (){
        //在当前这个对象的方法中可以访问当前这个(this)对象的属性的值
        console.log("名字:"+this.name);
    }

    //如何一次性创建多个对象?把创建对象的代码封装在一个函数里
    function creationObject(name,age){
        var obj=new Object();
        obj.name=name;
        obj.age=age;
        obj.say=function (){
            console.log("名字:"+this.name+"年龄:"+this.age);
        };
        return obj;
    }
    var per1=creationObject("小芳",13);
    per1.say();
    var per2=creationObject("小明",14);
    per2.say();

    //自己定义构造函数
    function Person(name,age){
        this.name=name;
        this.age=age;
        this.say=function (){
            console.log(this.name);
        };
    }
    //设置和获取属性的另一种写法
    var per=new Person("小明",12);
    per.name="小明";
    per["name"]="小明";
    console.log(per["name"]);
    per.say();
    per["say"]();
    
    /**
     * 创建对象:
     * 1.在内存中开辟,存储创建的新的对象
     * 2.把this设置为当前的对象
     * 3.设置对象的属性和方法的值
     * 4.把this这个对象返回
     * @type {Person}
     */

    console.log(per.age);
    console.log(per.name);
    per.say();
    console.log(per1 instanceof Person);
    console.log(per2 instanceof Person);
    console.log(per instanceof Person);

    var obj1={};//空对象
    //用字面量创建对象
    var obj2={
        name:"小明",
        age:17,
        say:function (){
            console.log(this.name);
        },
        eat:function (){
            console.log("吃");
        }
    }
    obj2.name="小明";
    console.log(obj2.name);
    obj2.say();
    obj2.eat();

2.JSON格式的数据

    //JSON格式的数据:一般都是成对的,是键值对
    //json也是一个对象,数据都是成对的,一般json格式的数据无论是键还是值都是用双引号括起来的
    var obj = {
        name: "小名",
        age: 10
    };
    var json = {
        "name": "小明",
        "age": "10",
        "sex": "男"
    };
    var key = "name";
    console.log(json[key]);
    //遍历对象:不能用for循环---无序
    //key1是变量,存储的是该对象所有的属性名
    for (var key1 in json) {
        console.log(key1);//json对象中属性的名字
        console.log(json[key1]);//json.key是添加属性
    }
    //对象中确实有key属性,则可以用对象.key,或者对象[key]
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值