问一个关于函数创建,对象的创建,调用函数属性的问题。

来源:7-1 什么是对象

快乐不假

2016-03-22 09:24

问一个关于函数创建,对象的创建,调用函数属性的问题。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>


<body>

<script>

function Student()    //构造一个函数
{
    
     name="好地方";
     English=95;
     math=108;
}
var s=new Student();//创建对象-->
document.write(s.English);
</script>


</body>
</html>


为什么输不出English的数?哪里错了吗?


写回答 关注

4回答

  • 杰伦家外的小麻雀
    2016-03-25 22:25:33

    对啊,这个你是得不到答案的啊,你只要已经生成了对象,那么你通过对象访问属性的时候都是在类外啊,所以不能用this。属性啊

  • 杰伦家外的小麻雀
    2016-03-22 11:00:51

    用this.english=95,可以了,你那个student函数,既然后面生成了对象,那肯定就是类,在类中要设置属性的话不是通常用public int a 这样的嘛,但是js他是可以直接用var a对吧,然后你这样声明了后他就是属性了,怎么给属性赋值呢?通常是在构造函数中给类的属性赋值,用this.属性直接赋值对吧,通常就是this.a=值,这样就给属性赋值了。

    共 3 条回复 >

  • ovz_1
    2016-03-22 10:07:25

    一、变量没有声明 var English=95;二、创建新的函数对象没有English属性

    快乐不假

    这个内容我是新学的,函数function Student(){}方法体里English=95;不是声明?English不属于它的属性?

    2016-03-22 10:14:11

    共 1 条回复 >

  • keatles
    2016-03-22 10:05:03

    得用this.English = 95;

    快乐不假

    能说下原因吗?

    2016-03-22 10:16:46

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468194 学习 · 21891 问题

查看课程

相似问题