一、对象的声明
1、new Object():
声明一个类,然后new创建对象
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
var User=function(id,name){ //function()声明一个类User,User必须大写
this.id=id;
this.name=name
}
var user1=new User(1,"张三"); //实例化一个对象,1是id,张三是name
document.write(user1.name) //输出语句
document.write("<br />") //换行
var user2=new User(2,"李四");
document.write(user2.name)
</script>
</body>
</html>
2、{ }
对象直接申明法,利用现有值,直接实例化对象
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
var user1={id:1,name:"张三"}; //方法一
var user2=Object.create({id:2,name:"李四"}); //方法二
// 两种方法一样的都是声明对象
document.write(user1.name)
document.write("<br />")
document.write(user2.name)
</script>
</body>
</html>
二、对象的属性
1、添加属性
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
var user={}; //声明对象
user.id=1; //为对象添加属性
user["name"]="张三"; //既可以用点访问属性,又可以用字符串作为键访问属性
user.age=20;
user["career"]="学生";
document.write(user.name);
document.write("<br />");
document.write(user["age"]);
</script>
</body>
</html>
2、删除属性
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
var user={}; //声明对象
user.id=1; //为对象添加属性
user["name"]="张三"; //既可以用点访问属性,又可以用字符串作为键访问属性
user.age=20;
user["career"]="学生";
delete user.name; //删除对象中name属性
document.write(user.name);
document.write("<br />");
document.write(user["age"]);
</script>
</body>
</html>
3、检测属性
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
var user={}; //声明对象
user.id=1; //为对象添加属性
user["name"]="张三"; //既可以用点访问属性,又可以用字符串作为键访问属性
user.age=20;
user["career"]="学生";
if('career' in user){
alert("有career属性");
}else{
alert("无career属性");
}
</script>
</body>
</html>
三、对象的方法
对象的方法和属性一样,可以动态的添加和删除,但方法只能通过 对象.方法名 创建。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
var user={}; //声明对象
user.id=1; //为对象添加属性
user["name"]="张三"; //既可以用点访问属性,又可以用字符串作为键访问属性
user.age=20;
user["career"]="学生";
user.courses=[]; //所选课程
user.chooseCourse=function(courseName){ //选课方法
//chooseCourse方法,为courses中的数组添加元素
user.courses.push(courseName)
}
user.chooseCourse("数据结构"); //调用选课方法
user.chooseCourse("高等数学");
user.chooseCourse("Java");
document.write(user.name+"所选的课程是:"+user.courses);
</script>
</body>
</html>
四、对象的遍历
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
var user={}; //声明对象
user.id=1; //为对象添加属性
user["name"]="张三"; //既可以用点访问属性,又可以用字符串作为键访问属性
user.age=20;
user["career"]="学生";
user.courses=[]; //所选课程
user.chooseCourse=function(courseName){ //选课方法
//chooseCourse方法,为courses中的数组添加元素
user.courses.push(courseName)
}
user.chooseCourse("数据结构"); //调用选课方法
user.chooseCourse("高等数学");
user.chooseCourse("Java");
for(var key in user){ //用for..in遍历出user的键
document.write(key+"="+user[key]);
document.write("<br />");
}
</script>
</body>
</html>