JavaScript 1.3 对象
1.对象是一组数据(属性)和功能(方法)的集合。
JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。
例如:
var txt=”Hello”; //这是字符串对象。
它拥有内建属性length,属性的值是txt.length=5
还拥有内建方法:txt.indexOf() txt.replace() txt.search()
2.创建一个新对象,并为其添加属性和方法。
法一:
var person=new Object();
person.firstname="Bill";
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";
person.sayName=function(){
alert(this.name);
};
注:通过person.firstname=值,person.sayName=function(){}可以为对象添加属性。
也可以使用DOM方法:person.setAttribute(“firstname”,”Bill”);
法二(推荐):
var person={
firstname:"John",
lastname:"Doe",
age:50,
eyecolor:"blue",
sayName:function(){
alert(this.name)
}
};
注1:{}里属性以逗号隔开,且最后一项最后不加逗号!
注2:传递参数模式
function display(person){
if(typeof person.name=="string") alert(person.name);
if(typeof person.age=="number") alert(person.age);
}
display({name:”Bill”,age:”18”});
display({name:”Bob”});
结果:函数都能正常执行。用{···}代替对象。
好处:1不用命名新对象名了,2可以传入任意的想传入的属性参数。
注3:一种奇怪但正确的对象创建方式
var person={};
person.name = "Bill";
注4:关于属性名加不加引号,firstname还是”firstname”,
参见:JavaScript 1.3 对象补充:JS声明对象时属性名加引号与不加引号的区别(转)
法三:使用函数来构造对象:
实例:
function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
}
注:在JavaScript中,this通常指向的是我们正在执行的函数本身,或者是指向该函数所属的对象(运行时)
创建 JavaScript 对象实例
一旦您有了对象构造器,就可以创建新的对象实例,就像这样:
var myFather=new person("John","Doe",50,"blue");
var myMother=new person("Sally","Rally",48,"green");
3.访问属性:
var name=person.firstname;
var name=person[“firstname”];
4.访问方法:
var name=person.sayName();