<!DOCTYPE html>
<html>
<head>
<title>javascript创建对象</title>
<meta charset="UTF-8">
<script type="text/javascript">
var Person=function(name,age){
//在这里用了this,这个变量就成了这个类的成员变量,方法也要用this来指定。不然的话这个类方法不能被访问
this.name = name;
this.age = age;
this.address = "中国";
//没有用this类声明的变量,不属于这个类的属性,这个类无权访问
var x = 100;
//创建一个行为
this.say = function(){
alert(this.name);
}
}
var p1 = new Person("张三",11);
alert("姓名:"+p1.name+"--地址:"+p1.address);
p1.say();
var p2 = new Person("李四",12);
p2.address = "日本";
alert("姓名:"+p2.name+"地址"+p2.address);
</script>
</head>
<body>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>javascript创建对象</title>
<meta charset="UTF-8">
<script type="text/javascript">
var Person=function(name,age){
//在这里用了this,这个变量就成了这个类的成员变量,方法也要用this来指定。不然的话这个类方法不能被访问
this.name = name;
this.age = age;
this.address = "中国";
//没有用this类声明的变量,不属于这个类的属性,这个类无权访问
var x = 100;
//创建一个行为
this.say = function(){
alert(this.name);
}
}
var p1 = new Person("张三",11);
alert("姓名:"+p1.name+"--地址:"+p1.address);
p1.say();
//还可以根据对象["属性字符串"]来完成对属性的调用
alert(p1["name"]+","+p1["age"]);
var p2 = new Person("李四",12);
p2.address = "日本";
alert("姓名:"+p2.name+"地址"+p2.address);
//在Java中有增强的for循环,在javascript中也有for(in)
for(var a in p1){
alert(a+":"+p1.a);//这种方式是得不到属性的值的,因为p1.a它解析为a为p1的属性
//这种方式可以得到属性的值
alert(a+":"+p1[a]);
}
</script>
</head>
<body>
</body>
</html>