JS中关于作用域问题的实验

// JavaScript Document
function className() {
	//public属性
	this.publicVar = "This is a public var.";
	
	//private属性
	var privateVar = "This is a private var.";
	var instanceObj = this;									//很关键,直到进入私有方法体前,在这里获得的this都是指向对象本身的
	
	//private方法,不能由对象进行访问,这样就实现了私有方法
	function privateFunction() {
		document.write("This is a private function:");
		document.write('<br/>');
		document.write("publicVar = " + this.publicVar);	//这里的this指代DOMwindow对象
		document.write('<br/>');
		document.write("privateVar = " + privateVar);
		document.write('<br/>');
		instanceObj.publicFunction();						//这样才能调用原型定义的public方法
	}
	
	//privileged方法,如果利用对象调用构造方法体内定义的方法的话,可以这样定义方法
	this.privilegedFunction = function() {
		document.write("This is a privileged function:");
		document.write('<br/>');
		document.write("publicVar = " + this.publicVar);
		document.write('<br/>');
		document.write("privateVar = " + privateVar);
		document.write('<br/>');
	}
}

//public方法
className.prototype.publicFunction = function() {
	document.write("This is a public function:");
	document.write('<br/>');
	document.write("publicVar = " + this.publicVar);
	document.write('<br/>');
	document.write("privateVar = " + privateVar);			//不能调用private属性,这样就实现了成员变量的封装
	document.write('<br/>');
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值