1. 使用字面量的形式封装一个表示对象的学生, 提供如下属性和方法:
属性: 姓名, 年龄, 性别, 语文成绩, 数学成绩, 计算机成绩
方法: 计算自己的成绩的方法
平均成绩的方法
最高分的方法
最低分的方法
2. 再使用构造函数的方式完成上面的题目.
3. 使用构造函数方法的方式来表示一个圆柱体
属性: 底面圆, 高
3.
属性: 姓名, 年龄, 性别, 语文成绩, 数学成绩, 计算机成绩
方法: 计算自己的成绩的方法
平均成绩的方法
最高分的方法
最低分的方法
2. 再使用构造函数的方式完成上面的题目.
3. 使用构造函数方法的方式来表示一个圆柱体
属性: 底面圆, 高
方法: 计算底面积, 计算体积
1.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>对象字面量的练习</title>
</head>
<body>
<!--题目:使用字面量的形式封装一个表示对象的学生, 提供如下属性和方法:
属性: 姓名, 年龄, 性别, 语文成绩, 数学成绩, 计算机成绩
方法: 计算自己的成绩的方法
平均成绩的方法
最高分的方法
最低分的方法
-->
<script>
//计算最高分函数
function high(x,y,z) {
var big;
if(x >= y){
big = x;
}else{
big = y;
}
if(z > big){
big=z;
}
return big;
}
//计算最低分函数
function low(x,y,z) {
var small;
if(x >= y){
small = y;
}else{
big = x;
}
if(z < small){
small=z;
}
return small;
}
//对象字面量
var stu = {
name:"lvya",
age:18,
gender:"male",
language:90,
math:80,
computer:70,
workAve:function () {
return (this.language + this.computer + this.math)/3;
},
highestScore:function () {
return (high(this.language,this.math,this.computer))
},
lowestScore:function () {
return (low(this.language,this.math,this.computer))
}
}
console.log("平均分:"+stu.workAve());
console.log("最高分:"+stu.highestScore());
console.log("最低分:"+stu.lowestScore());
</script>
</body>
</html>
2.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>构造函数练习</title>
</head>
<body>
<!--题目:使用构造函数的形式封装一个表示对象的学生, 提供如下属性和方法:
属性: 姓名, 年龄, 性别, 语文成绩, 数学成绩, 计算机成绩
方法: 计算自己的成绩的方法
平均成绩的方法
最高分的方法
最低分的方法
-->
<script>
//计算最高分函数
function high(x,y,z) {
var big;
if(x >= y){
big = x;
}else{
big = y;
}
if(z > big){
big=z;
}
return big;
}
//计算最低分函数
function low(x,y,z) {
var small;
if(x >= y){
small = y;
}else{
big = x;
}
if(z < small){
small=z;
}
return small;
}
//构造函数学生类,这里没有把三个成绩另外包含成单独封装,
// 也可以把成绩抽象出来,这样会更体现面向对象思维
function stu(name,age,gender,language,math,computer) {
this.name = name;
this.age = age;
this.gender = gender;
this.language = language;
this.math = math;
this.computer= computer;
this.workAve = function () {
return (this.computer+this.math+this.language)/3;
}
this.highestScore = function () {
return (high(this.language,this.math,this.computer));
}
this.lowestScore = function () {
return (low(this.language,this.math,this.computer));
}
}
//new出对象
var stu1 = new stu("lvya",18,"male",90,80,70);
console.log("平均分:"+stu1.workAve());
console.log("最高分:"+stu1.highestScore());
console.log("最低分:"+stu1.lowestScore());
</script>
</body>
</html>
3.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>构造函数-圆柱体</title>
</head>
<body>
<!--题目: 使用构造函数方法的方式来表示一个 圆柱体(cylinder) 圆(circle)
属性: 底面圆, 高
方法: 计算底面积, 计算体积
-->
<script>
//点的构造函数
function Pointer(x,y) {
this.x = x;
this.y = y;
}
//圆的构造函数
function Circle(p,r) {
this.p = p;
this.r =r;
this.area = function () {
return this.r **2*Math.PI;
}
}
//圆柱的构造函数
function Cylinder(circle,height) {
this.circle = circle;
this.height = height;
this.area = function () {
return this.circle.area(); //(底面积,不是表面积,在这也可以定义表面积,注意)其实是多余的,但题目要求要这个方法
}
this.volume = function () {
return this.area()*this.height;
}
}
//NEW的对象:点的对象,圆的对象,圆柱形对象
var p1 = new Pointer(0,0);
var c1 = new Circle(p1,1);
var cd = new Cylinder(c1,5);
// output information
console.log("圆柱形底面积: "+cd.area());
console.log("圆柱形体积: "+cd.volume());
</script>
</body>
</html>