javascript学习4——javascript面向对象(中)

              创建自己的对象

        实例化的过程:首先通过new关键字告知JS创建一个全新对象。然后新建的实例被赋值给一个变量,以便你可以通过引用那个变量来访问对象的新实例。不过为了做到这一点,所实例化的对象必须是一个构造函数

        第个核心对象,如object、Function、Array和String都含有构造函数。

              创建构造方法

        

 

 

              创建公有、私有、特权、静态成员   

       添加静态方法

<script type="text/javascript">
	var obj=new Object();
	obj.name='obj';
	obj.alertName=function(){
			alert(this.name);
		}
	obj.alertName();
</script>


           

          

 

 

                 

           添加公有方法

在上面我们已经接触到了一种添加公有方法的的例子,就是在我们构造函数里,function里面使用this关键字,用this加上点操作符来定义我们构造函数里的公有属性和公有方法。。

         另一种方式:(两者的不同之处看下文!)

 

<script type="text/javascript">
	function myConstructor(){
			
		}
	var myFun=new myConstructor();
	myConstructor.prototype.myName='asdf';
	alert(myFun.myName);
</script>


              需要注意的是:

不能在myConstructor上直接调用这个方法

                 添加私有和特权方法

私有成员就是在构造函数中定义的变量和函数。

例如向myConstructor中添加私有成员和方法

例子如下图所示:

<script type="text/javascript">
	function myConstructor(message){
			this.MyMessage=message;
			var myOwner=this;	//私有属性
			var separator='_';	//私有属性
			function alertMessage(){	//私有方法
					alert(myOwner.MyMessage);
				}
			alertMessage();	//实例化时显示信息。
			
			//特权方法。
			this.AppendToMessage=function(string){
					this.MyMessage+=separator+string;
					alertMessage();
				}
		}
	var myFun=new myConstructor('asdf');
	myFun.AppendToMessage('特权方法');
</script>


        与私有方法不同,特权方法能够被公开访问,而且还能访问私有成员。特权方法是指在构造函数的作用域中使用this关键字定义的方法。(这也是与用prototype来指定公有方法的不同之处:因为隶属于构造函数的作用域中可以访问私有成员。)

 

总结:

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值