javascript对象的学习与总结

一.对象是javascript的基本数据类型,是一种复合值,是属性的容器,属性是由键值对组成的。

二.Js中对象分为:内置对象,宿主对象,自定义对象

三.对象的创建

   (1)对象直接量:由若干个名/值对组成的映射表,是一个表达式,这个表达式的每次运算都创建并初始化一个新的对象。

        例如:

             var empty_oject={};定义没有任何属性的对象

             var point={x:0,y:0};定义两个属性的对象

             var stooge={

                       name:xiyin,

                        sex:girl,

                       first-name:xi

}

  在对象自面量中,如果属性名是一个合法的javascript标示符且不是保留字,则可以不适用引号括住属性名,而上面的first-name是不合法的命名,所以。

(2)通过new创建对象:创建并初始化一个新对象,关键字new后面跟随一个函数(称为构造函数)调用。

例如:

   var 0=new Object();//创建一个空对象, 与var 0={};等同

   var a =new Array();//创建一个空数组,与  var a=[];等同

   var d=new Date();//创建一个表示当前事件的Date对象

(3)Object.create(),ES5定义的,用来创建一个新对象,,第一参数,是这个对象的原型,第二个是可选的参数,用来对对象属性进行进一步的描述

     Var o3=Object.create(Object.prototype);  Var 0=new Object();//创建一个空对象, 与var 0={};等同

四.对象属性的查询(检索)和设置(更新),删除属性

           (1)可以通过.号或者方括号【】,来获取属性的值

            Object.property

            Object[property]

          (2)对象里的值可以通过赋值语句来更新,如果属性名已经存在于对象里,那么这个属性的值就会被替换,如果对象之前没有那个属性名,那么该属性就被扩充到对象中。

              Stooge[first-name]=yin;

           (3delete运算符可以删除对象的属性 delete stooge[first-name],delete运算符只能删除自有属性,不能删除继承属性

五.检测属性:判断某个属性是否存在于某个对象中

         (1In运算符:左侧是属性名(字符串),右侧是对象,如果对象的自有属性,或者继承属性中包含这个属性,则返回true.

          var o={x:1}

          x in o //true

          yin o //false

          toString in o //true o继承toString属性

        (2)对象的hasOwnProperty()方法用来检测给定的名字是否是对象的自有属性,对于继承属性它则返回false.

         (3propertyIsEnumerable(),只有检测到是自有属性且这个属性的可枚举性为true时,它才返回true

六.序列化对象

         序列化对象是指对象的状态转换为字符串,也可将字符串还原为对象。

      ES5提供了内置函数JSON.stringify()JSON.parse()用来序列化和还原为javascript对象(JSON--javascript object notation javascript对象表示法)

 七.对象方法

    (1toString()方法,没有参数,返回一个表示调用这个方法的对象值的字符串

 


你可能感兴趣的:(JavaScript,对象,属性)