对象是JavaScript的基本数据类型。对象是一种复合值:将很多值(原始值或者其他对象)聚合在一起。
JavaScript对象不仅可以保持自有的属性,还可以从原型对象继承属性。对象的方法通常是继承的属性。原型式继承是JavaScript的核心特征。
JavaScript对象是动态的——可以新增属性也可以删除属性,除了字符串,数字,true,false,null和undefined之外(当使用他们的属性方法时,会隐式的变成包装对象),JavaScript中的值都是对象。
对象是可变的,我们通过引用而非值来操作对象,如果变量x是指向一个对象的引用,那么执行代码var y=x;变量y也是指向同一个对象的引用,而非这个对象的副本,通过变量y修改这个对象亦会对变量x造成影响。
JavaScript规定,如果行首是大括号,一律解释为语句(即代码块)。如果要解释为表达式(即对象),必须在大括号前加上圆括号。
创建(create),设置(set),查找(query),删除(delete),检测(test),枚举(enumerate)它的属性。
对象的生成方法,通常有三种方法。除了像上面那样直接使用大括号生成({}),还可以用new命令生成一个Object对象的实例,或者使用Object.create方法生成。
第一种:对象直接量 var point={x:0,y:0;} 第二种:通过new后面加上构造函数创建对象 var o=new Object(); 第三种:通过Object.create方法生成 var o=Object.create(null);//这个方法可以传入原型对象总结:一般来说,第一种采用大括号的写法比较简洁,第二种采用构造函数的写法清晰地表示了意图,第三种写法一般用在需要对象继承的场合。
javascript对象可以看作属性的集合,我们经常会检测集合中成员的所属关系,判断某个属性是否存在于某个对象中。
(1)in运算符
运算符左侧是属性名,右侧是对象。如果对象的自有属性或继承属性中包含这个属性则返回true。 "x" in o(2)hasOwnProperty()
用于检测给定的名字是否是对象的自有属性。对于继承属性它将返回false。 o.hasOwnProperty("x")(3)propertyIsEnumerable()
propertyIsEnumerable()是hasOwnProperty()的加强版,只有检测到是自有属性且这个属性的可枚举性为true时它才返回true o.propertyIsEnumerable("x")转载于:https://www.cnblogs.com/YeChing/p/6321775.html
