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>

posted @ 2016-10-28 12:00  吴世涵工作室  阅读(71)  评论(0编辑  收藏  举报