js的对象

引用数据类型,保存复杂数据类型的容器,它是多个属性和方法(函数)的集合

        ECMAScript中的对象其实就是一组数据(属性)和功能(方法)的集合

        1)定义对象

            1 对象字面量方式

                var o = {

                    name:'terry',

                    age:12,

                    sayName:function(){

                        console.log(this.name)

                    }

                }

            以{}作为边界   属性与属性之间用,隔开   属性名与属性值用:隔开

            属性名一般不加引号(在一些特殊情况下需要添加引号),属性值为字符串的时候一定要添加引号

            2 构造函数方式    构造函数=>Object、Array

               创建对象:

                var o = new Object()     等价与     var o = {}

                o.name      =>  'tom'

                o.age       =>   12

        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()        o直接继承

            var arr = []  var arr = new Array()       间接继承

            var p = {

                name:'tom'

            }

        6)对象属性的检测      

            '属性名' in 检测的对象

            'name' in obj(检测的对象)    ==>有出true  没有出false 

            eg:console.log('name' in o1)

        7)引用传递和值传递

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

                var a = 1

                var b = a

                a = 4

                b不会变 =1

            引用数据类型使用引用传递:引用数据类型的引用地址保存到栈区中,实际的值保存到堆区中,该引用地址指向堆区中的空间

                var o = {name:'tom',age:12}

                var o1 = o 

                o1.name = terry

                o1.name    =>  terry

        8)对象序列化(转换为字符串)

            常规转换

                obj.toString()

            转换为json字符串

                JSON.stringify(obj)

            查询字符串

                name=tom&age=12

                var qs = require('querystring')    //引入nodejs模块

                qs.stringify(obj)         => name=tom&age=12

        9)增强for循环(for in)

            遍历对象                     (obj遍历的对象) (k随便起尽量有意义)

                for(var k in obj) {            var 变量 in 属性名

                    console.log(k)          //属性名

                    console.log(obj[k])     //属性值

                }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值