问一个关于函数创建,对象的创建,调用函数属性的问题。
<!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的数?哪里错了吗?
对啊,这个你是得不到答案的啊,你只要已经生成了对象,那么你通过对象访问属性的时候都是在类外啊,所以不能用this。属性啊
用this.english=95,可以了,你那个student函数,既然后面生成了对象,那肯定就是类,在类中要设置属性的话不是通常用public int a 这样的嘛,但是js他是可以直接用var a对吧,然后你这样声明了后他就是属性了,怎么给属性赋值呢?通常是在构造函数中给类的属性赋值,用this.属性直接赋值对吧,通常就是this.a=值,这样就给属性赋值了。
一、变量没有声明 var English=95;二、创建新的函数对象没有English属性
得用this.English = 95;