Javascript定义对象的三种方式
程序员文章站
2022-03-04 19:17:46
...
- js是基于原型、基于对象、解释型、弱类型语言。
- 它不是面向对象,通常用函数来拟对象。
- 通常有三种定义方式,而我们通常看到的json对象形式便是其中一种。`
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>回顾js中如何定义对象</title>
</head>
<body>
</body>
<script type="text/javascript">
/*定义对象的方式1*/
function Person(){}//相当于java中的一个构造方法
var p1 = new Person()//创建了一个对象
p1.name="zhangsan";
p1.age="25";//动态地给对象赋属性
p1.show=function(){
document.write(this.name+"---"+this.age+"<br/>");
}//用匿名函数的方式给对象添加成员方法
p1.show();//调用方法
//成员变量有两种调用方法,点和中括号运算符
document.write(p1.name+"<br/>");
document.write(p1["age"]+"<br/>");
/*定义对象的方式2*/
function Person(name,age){
this.name = name;
this.age = age;
this.setName = function(name){
this.name = name;
}
this.setAge = function(age){
this.age = age;
}
this.getName = function(){
return this.name;
}
this.getAge = function(){
return this.age;
}
}
var p2 = new Person("zhangsan","25");
document.write(p2.getName()+"<br/>");
document.write(p2.name+"<br/>");
document.write(p2["age"]+"<br/>");
/*定义对象的方式3*/
//直接使用{}定义属性和值的键值对方式,键和值通过冒号连接,键和键之间用逗号隔开
//这一点也是理解JSON对象为什么是辣个样子滴
var p3 = {
"name":"zhangsan",
"age":"25",
"getName":function(){
return this.name;
}
}
document.write(p3.getName()+"<br/>");
document.write(p3.name+"<br/>");
document.write(p3["age"]);
</script>
</html>