JavaScript对象

目录 JavaScript对象对象的分类创建对象属性名和属性值

JavaScript对象

对象属于一种复合数据类型,在对象中可以保存多个不同的数据类型的 属性

对象的分类

1. 内建对象

  -由es标准中定义的对象,在任何的es的实现中都可以使用

  -比如:math string number Boolean function object。。。

2. 宿主对象

    -由js的运行环境提供的对象,目前来讲主要指浏览器提供的对象

          -比如:BOM DOM

              console.log();

              document.write();

3. 自定义对象

  -有开发人员自己创建的对象

创建对象

使用new关键字调用的函数,是构造函数constructor

      构造函数是专门用来创建对象的函数

      使用typeof检查一个对象时,会返回object

    var obj = new Object();

    //console.log(typeof  obj);

      在对象中保存的值称为属性

      向对象添加属性

      语法: 对象, 属性名 = 属性值

      读取属性

      语法:对象.属性名

    //name属性

            obj.name = "张三";

            //gender

            obj.gender = "男"

            //age

            obj.age = 17;

            console.log(obj);

            document.write(obj.name, obj.gender, obj.age);

      修改对象的属性值

      语法: 对象.属性名 = 新值

            obj.name = "jack"

            console.log(obj.name);

      删除对象的属性

      语法:delete 对象.属性名

      delete obj.name;

          console.log(obj.name);

属性名和属性值

            var obj = new Object;


            /*

                向对象中添加属性

                属性名:

                    -对象的属性名不强制要求遵守标识符的规范

                        什么乱七八槽的名字都可以使用

                    -但是我们使用还是尽量按照标识符的规范去做

            */


            obj.name = "tom";


            obj.var = "jan";

            console.log(obj.var);

      如多要使用特殊的属性名,不能采用 . 的方式来操作

      需要使用另一种方式,

          语法:对象["属性名"] = 属性值

        读取时也需要采用这种方法

        使用[]这种形式区操作属性,更加的灵活

          在[]中可以直接传递一个变量,这样变量值就会读取那个属性

      例如:数字...

          obj["1234"] = 1234;

          obj["@#$%^&*()@#$%^**"] = "!@#$%^&*()_+"

          console.log(obj["1234"]);

          console.log(obj["@#$%^&*()@#$%^**"])


          var n = "1234";

          var m = "@#$%^&*()@#$%^**";

          console.log(obj[n]);

            document.write(obj[n]);

            document.write(obj[m]);

      属性值

        js对象的属性值,可以是任意的数据类型

          甚至也可以是一个对象

            obj.test = true;

            obj.test2 = undefined;

            obj.test3 = String;

            console.log(obj.test);

            console.log(obj.test2);

            console.log(obj.test3);

in 运算符

            //创建一个对象

            var obj2 = new Object;

            obj2.name = "timi";


            //将obj2设置为obj的属性

            obj.test4 = obj2;


            console.log(obj.test4.name);


            /*

                in 运算符

                    -通过运算符可以检查一个对象中是否含有指定的属性

                        如果有则返回true 没有则返回false

                    - 语法

                        “属性名” in 对象

            */

            //检查obj中是否含有test5属性

            console.log("test5" in obj)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容