<!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>
原文:http://www.cnblogs.com/aicpcode/p/4276193.html