ECMA object类型实例化、访问对象属性

来源:互联网 发布:张段固镇淘宝园 编辑:程序博客网 时间:2024/05/21 22:51
 1.创建Object实例的方式有两种。第一种是使用new操作符后跟Object构造函数,其中new也可以省略,效果一样,如下所示:
var person=new Object();person.name="Nicholas";person.age=2;
  2.  另一种方式是使用对象字面量表示法。对象字面量是对象定义的一种简写形式,目的在于简化创建包含大量属性的对象的过程。下面这个例子就使用了对象字面量语法定义了与前面那个例子中相同的person对象:
var person={name:"Nicholas",age:29};
注意:在通过对象字面量定义对象时,实际上不会调用Object构造函数。
3.在使用对象字面量语法时,属性名也可以使用字符串,如下面这个例子所示。
var person={      "name":Nichvlae",      "age":29,        5: true}; 
这个例子会创建一个对象,包含三个属性:name, age和5但这里的数值属性名会自动转换为字符串。
 4.    另外,使用对象字面量语法时,如果留空其花括号,则可以定义只包含默认属性和方法的对象,如下所示:
var person={};//与new Object()相同person.name="Nicholas";person age=29:
5、访问对象属性
    一般来说。访问对象属性时使用的都是点表示法,这也是很多面向对象语言中通用的语法。不过,在javaScript也可以使用方括号表示法来访问对象的属性。在使用方括号语法时,应该将要访问的属性以字符串的形式放在方括号中,如下面的例子所示:
alert(person["name"]);alert(person.name);
6、访问对象属性用方括号主要优点是可以通过变量来访问对象属性:
var person={name:"sdf"};var pro="name";alert(person[pro]); //sdf
 7、    如果属性名中包含会导致语法错误的字符,或者属性名使用的是关键字或保留字,也可以使用方括号表示法。例如:
person[“first name”]="Nicholas”;person["--"]="abc"; 
    由于"first name“,中包含一个空格,所以不能使用点表示法来访问它。然而,属性名中是可以包含非字母非数字的,这时候就可以使用方括号表示法来访间它们。
    通常,除非必须使用变量来访问属性,否则我们建议使用点表示法。
 8、实际上,对象字面量也是向函数传递大量可选参数的首选方式:
function displayInfo(args){    var output="";    if(typeof args.name=="string"){    output+="Name:"+args.name+"\n";}if(typeof args.age=="number"){    output+="Age:"+args.age+"\n";}    alert(output);}displayInfo({name:"Nicholas",age:29});displayInfo({name:"Greg"}); 
0 0