JavaScript基础(20)—私有和静态成员

<!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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值