JS 自定义对象

一、自定义对象的定义方式

1. 标准定义

1. 定义方式:
实例化 new Object()
2. 设置属性:
方法一 : stu.name=“毛豆”; (对象.属性=属性值
方法二 : stu[“job”]=“tea”;(对象[键]=属性值

    var stu=new Object();    // 定义方式
    stu.name="毛豆";         //设置属性         
    stu["job"]="tea";       //设置属性  
    stu.eat=function (){    //设置方法   
        return this.name+"啥都吃!";           //this 指代当前的对象
    }

2. 简化定义

定义方式:
var student = {} ;

    var students={
        name:"毛豆", 
        eat:function (){
            return this.name+"啥都吃!";
        }
    };  
    students["job"]="tea"; 

3. 构造函数定义对象

定义方式:
步骤 1: 定义一个构造函数
步骤 2: 实例化构造函数

 function Person(){
     this.name = "张三";
     this.sex = "男";
     this.getname = function () {
         return this.name;
         };
     }
  var per = new Person();
二、自定义对象中的 get set 访问器

set 访问器是用来给对象定义属性的,get访问器是用来获取属性的,有两种用法:
用法1:在对象内部定义属性,
用法2:在对象后面定义属性。

方法一:对象内部定义

     var person1={
       firstname:"张",
       lastname:"三",
       get sex(){
          console.log("获取sex属性值");
          return sex;
       },
       set sex(s){                                
          console.log("给sex属性赋值");
          sex=s;
       }
    };
   person1.sex=20;  // 执行属性赋值的时候自动执行对象里面的set访问器
   console.log(person1.sex);  // 获取属性时自动执行对象里面的get访问器

方法二:对象下面定义

    var person2 = {
          firstname: "张",
          lastname: "三",
          age: 20
     };
    Object.defineProperty(person2, "sex", {     // 使用Object里面的这个方法添加属性
     get: function () {
        console.log("获取属性值");
        return sex;
     },
     set: function (s) {
     console.log("设置属性值");
     sex = s;
     }
     });
     person2.sex = 30;
     console.log(person2.sex);
三、JSON和自定义对象的区别
区别含义表现形式相互转换
JSON仅仅是一种数据格式1. 键值对方式,键必须加双引号
2. 值只能是数值(十进制),字符串,布尔值,数组,对象,不能是方法函数
3. 最后一个值后面不能有逗号
Json字符串转换成JS对象的方法:JSON. parse(JsonStr); (不兼容IE7)
Javascript对象表示类的实例,一种JS的引用类型1. 键值对方式,键可以加双引号或单引号,也可以不加引号
2. 值可以是数值,字符串,布尔值,对象,方法函数中的任意值
3. 可以有逗号
JS对象转换成Json字符串:JSON. stringify(JsObj);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值