<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>javascript031.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body>
<!--
在java中,有成员的访问修饰符的概念:private,默认,protected,public
在js中没有,那么,我们怎么才能够在js中模拟出私有成员呢?
在js中,通过this把变量和方法与类关联上的。如果你自己用var定义了一个变量,
或者直接定义了一个方法,他会认为这个方法或者变量与当前的类无关。
可以被看做是局部的变量和方法。
-->
<script type="text/javascript">
function Person(name,age)
{
this.name = name;
this.age = age;
//定义了一个变量
var sex = "女";
setSex = function()
{
sex = "男";
};
//通过this修饰的方法
//通过成员方法调用局部方法修改局部变量
this.changeSex = function()
{
setSex();
};
//相当于通过成员方法返回局部变量的值
this.getSex = function()
{
return sex;
};
}
/*
//创建一个对象
var p = new Person("林青霞",26);
//alert(p.name+"***"+p.age);
//alert(p.sex);
alert(p.getSex());
p.changeSex();
alert(p.getSex());
*/
//在js中,大家应该记得 Math对象
//alert(Math.abs(-12)); //绝对值
//alert(Math.max(23,45)); //获取较大的值
//js中也是有静态的概念存在的
//添加静态属性
Person.sex = "男";
//添加静态方法
Person.run = function()
{
alert("run");
};
//注意了:在js中,静态的内容只能被类名访问
//var p = new Person("林青霞",26);
//alert(Person.sex);
//Person.run();
//静态就是这么简单,通过类名直接添加属性或者方法,将来使用的时候也不能创建对象使用。
</script>
</body>
</html>
JavaScript基础(20)—私有和静态成员
最新推荐文章于 2016-03-28 18:24:29 发布