JavaScript 对象

<html>
<head>
<script>
//参考:http://www.w3school.com.cn/js/js_objects.asp
//JavaScript 中的所有事物都是对象:字符串、数值、数组、函数...此外,JavaScript 允许自定义对象。
funload = function(){
//fun1()
//注意,方法 fun1 实际上为window对象的一个属性,只是window不需要声明
//window.fun1();
//fun2();
//fun3();
fun4();
}
//JavaScript 提供多个内建对象,比如 String、Date、Array 等等。对象只是带有属性和方法的特殊数据类型。
//方法是能够在对象上执行的动作。
fun1 = function(){
	var message="abcd";
	alert(message.length);
	alert(message.toUpperCase());
}
//定义并创建对象的实例
fun2 = function(){
	var person = new Object();
	person.name= "胖子小胖子";
	alert(person.name);
	//json方式声明对象
	var person2 = {name:"火星人"};
	alert(person2.name);
	for(var temp in person2){//对象属性可视为数组
		alert(person2[temp]);
	}
	
}
//使用函数来定义对象,然后创建新的对象实例
fun3 = function(){
	//this 的使用
	var temp = new function(){
		this.name="123456ACGDE";
	}
	alert(temp.name);
}
//在 JavaScript 中,不会创建类,也不会通过类来创建对象(就像在其他面向对象的语言中那样)。JavaScript 基于 prototype,而不是基于类的。
fun4 = function(){
	function funTemp(name){
		this.name = name;
	};
	var temp = new funTemp("胖子胖子");
	temp.sex = "男";//这里是设置对象temp的属性
	alert(temp.name+" "+ temp.sex);
	funTemp.prototype.age = 20;//这里设置 funTemp 的prototype
	alert(temp.name+" "+ temp.sex +" " + temp.age);
	var temp2 = new funTemp("胖子小胖子");
	alert(temp2.name+" "+ temp2.sex +" " + temp2.age);
	funTemp.enable = true;//这里设置 funTemp 的属性
	alert(temp2.enable+" "+ temp2.sex +" " + temp2.age);
	var temp3 = new funTemp("胖子大胖子");
	alert(temp3.enable+" "+ temp3.sex +" " + temp3.age);
	//注意 prototype 
	//创建一个空白对象(new funTemp("胖子胖子"))。
	//链接funTemp.prototype中的属性(键值对)到这个空对象中
	//将这个对象通过this关键字传递到构造函数中并执行构造函数。
	//将这个对象赋值给变量zhang。
}
</script>
</head>
<body onload="funload()">
</body>
</html>

相关推荐