第七章,对象和数组
1.创建对象最简单的方法是在javascript代码中加入一个对象直接常量。对象直接常量是用逗号分隔开的一对对的属性名和值的列表,包含在一个花括号之中,每个属性名可以是一个javascript标志符或一个字符串,
而每个属性值可以是一个常量或任意的javascript表达式。
var empty={};//an object with no properties.
var point={x:0,y:0};
var circle={x:point.x,y:point.y+1,radius:2};
var homer={
‘name‘:‘homer simpson‘,
‘age‘:23,
‘married‘:true
};
对象直接常量是这样的一个表达式:每次计算它的时候,它都创建并初始化一个新的不同的对象。这就是说,如果一个单个的对象直接常量
出现在重复调用的一个函数的循环体中的话,它可以创建很多个新的对象。
new运算符可以创建具体的一类对象。在new的后面跟着调用一个构造函数,它用来初始化对象的属性。
var a=new Array();
var d=new Date();
var r=new RegExp(‘javascript‘,‘i‘);
2.对象的属性:通常使用"."运算符来存取对象的属性的值。位于.运算符左边的值是想要访问其属性的对象。通常,它只包含了该对象的引用的变量名,但它可以是任何一个
结果为对象的javascript表达式。位于‘.‘运算符右边的值应该是属性名,它必须是一个标识符,而不能是一个字符串或表达式。
3.检查属性的存在性:in运算符可以用来测试一个属性的存在性。运算符的左边应该是属性的名字(字符串形式),而运算符符的右边应该是要被测试的对象。
4.删除属性:delete 对象名.属性名;
5.作为关联数组的对象
object.property等价于object[‘property‘];
6.object的属性和方法
constructor属性
toString()方法
toLocaleString()方法返回对象的一个本地化字符串
valueOf()方法它是当javascript需要把一个对象转换为某种基本数据类型,也就是一个数字而不是一个字符串的时候,才调用的方法。
hasOwnProperty()方法,如果对象用一个单独的字符串参数所指定的名字来本地定义一个非继承的属性,该方法就返回true。否则返回false。
propertylsEnumerable()方法,如果对象用一个单独的字符串参数所指定的名字来定义一个非继承的属性,并且如果这个属性
可以在一个for/in循环中枚举,该方法就返回true,否则返回false。 注意:一个对象的所有的用户定义的属性都是可以枚举的,不能枚举的
的属性通常都是继承 的属性。
isPrototypeOf()方法所属的对象是参数的原型对象,那么该方法就返回true。否则它就返回false
7.创建数组:
创建一个数组的最简单的方法就是使用数组直接常量这只是位于放括号中德以逗号分割开的数组元素的列表:
var empty=[];//an array with no elements
var primes=[2,3,4,5,];
var misc=[1.1,1,true,‘a‘];
var a=new Array();
var a=new Array(5,4,3,2,1,,‘test‘,true);
var a=new Array(10);