javascript中对象的应用

        ECMA-262对象的定义:无序属性的集合,其属性可以包含基本值,对象,或者函数。可以将对象想象成散列表:键值对,其中值可以是数据或者函数。ECMAScript中的对象其实就是一组数据(属性)和功能(方法)的集合。
  1.定义对象
       1)使用构造函数创建,new Object()
    var person = new Object();
    person.name = "briup";
    person.age = 22;  
      2)使用对象字面量表示法
    不同的属性之间用','分割,属性名和属性值之间用':'分割
    var person = {
        name : "briup",
        age : 22    
    };

2.访问对象中的属性:

 点访问符 .
               o.name       => 'terry'
               o.age       => 12
   [ ]访问符
                o['name']     => 'terry'
                o['age']        => 12

3.删除对象属性
       delete 对象.属性

 4.给对象添加属性
               o.gender = '男'

5.Object根构造函数
       所有的对象都直接或间接继承Object,都能调用Object原型里面的方法
                var o=new Object()

6. 检测属性
       in 检测某属性是否是某对象的自有属性或者是继承属性
       Object.prototype.hasOwnProperty()检测给定的属性是否是对象的自有属性,对于继承属性将返回false
       Object.prototype.propertyIsEnumerable() 检测给定的属性是否是该对象的自有属性,并且该属性是可枚举的。通常由JS代码创建的属性都是可枚举的,但是可以使用特殊的方法改变可枚举性。
例如:
       var o = {
         x:1
         }
           o.hasOwnProperty("x");    //true,x 为o的自有属性
           o.hasOwnProperty("y");    //false,o 中不存在属性y
           o.hasOwnProperty("toString");    //false,toString为继承属性
           o.propertyIsEnumerable(“toString”);    //false,不可枚举

7.引用传递和值传递
          基本数据类型使用值传递:基本数据类型将值直接保存到内存的栈区中


           引用数据类型使用引用传递:引用数据类型的引用地址保存在栈区中,实际的值保存在堆区中,该引用地址指向堆区中的空间
                  var o={name:'tom',age:12}
                  var o1=o
                              o1.name='terry'
                                 o.name   => terry

8.对象的序列化
       1)常规转换
               obj.toString()

         2)转化为JSDN字符串
                console.log(JSON.stringify(obj))

          3)查询字符串
                 name=tom&age=12
                 
                 var qs=require('querystring')     //引入nodejs模块
                 qs.stringify(obj)    =>  name=tom&age=12

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值