日期:2014-05-16  浏览次数:20371 次

javascript 面向对象学习笔记一

? javascript 面向对象基础知识:

?

//给object对象定义属性;
var obj = new Object;
obj.x = "100";
obj.y = "200";

//定义一个类;
function Foo(){
	this.id = 300;
	this.name = "zhouhaitao";
}

//定义一个数组;
var array = new Array();

//属性测试;
function testProperty(){
	alert(obj.x);
	alert(obj.y);
	
	var foo = new Foo();
	alert(foo.id);
	alert(foo.name);
	
	array.push("数组值1");
	array.push("数组值2");
	array.push("数组值3");
	
	/**
	 * 循环;
	 */
	for(var inx in array){
		alert(array[inx]);
	}
}

//Object对象的inObj设置为1;
Object.prototype.inObj = 1;

//定义A类;
function A(){
	//给属性设置值为2;
	this.inA = 2;
}

//给A类的inAproto属性设置为3;
A.prototype.inAProto = 3;

B.prototype = new A();
B.prototype.constructor = B;

//定义B类;
function B(){
	//给B类属性设置值为4;
	this.inB = 4;
	this.firstMethod = function (num1,num2){
		var  count = num1+num2;
		return count;
	};
}

B.prototype.inBroto = 5;

x = new B;
document.writeln(x.inObj+","+x.inA+","+x.inAProto+","+x.inB+","+x.inBroto);

//打印
function pirintMethod(){
	//调用方法;
	var count = x.firstMethod(1000,1000);
	alert(count);
	
	//定义一个新的方法;
	B.secondMethod = function(msg){
		return msg;
	};
	
	var msg = B.secondMethod("Hello");
	alert("这是创建一个新的方法:"+msg);
}

//定义一个C类;
function C(){
	this.x = 1;
	this.eat = function(){
		this.x=4;
		return this.x;
	};
}

//给C类定义吃的方法;
C.prototype.eat2=function(){
	var y = new C().eat();
	this.x = (y+=1);
};

//定义一个D类;
function D(){
	this.x = 1;
	this.eat = function(){
		this.x=5;
	};
}

//给D类定义一个吃的方法;
D.prototype.eat2 = function(){
	this.x+=2;
};

c = new C();
d = new D();
c.eat2();
d.eat();
document.writeln("<br/>"+c.x+","+d.x+"</br>");

//给E类定义私有成员;
function E(){
	var num = 100;
	
	//定义getter方法;
	this.getNum = function(){
		return num;
	};
	
	//定义setter方法;
	this.setNum = function(number){
		num = number;
	};
};

//测试;
function privateProperty(){
	var e = new E();
	//设置值;
	e.setNum(500);
	//获取值;
	var result =e.getNum();
	
	alert("私有属性:"+result);
	
	myObjMethod();
}

//定义一个空对象;
var myobj = {};

myobj.name = "zhang san";
//定义一个get方法;
myobj.getName = function(){
	return this.name;
};

//定义一个person对象;
var person={id:100,name:'Test',age:30,address:function(x){
	return x;
}};

?