javascript 创建对象

<!DOCTYPE html>
<html>
<head>
    <title>javascript创建对象</title>
    <meta charset="UTF-8">
    <script type="text/javascript">

        var Person=function(name,age){

            //在这里用了this,这个变量就成了这个类的成员变量,方法也要用this来指定。不然的话这个类方法不能被访问
            this.name = name;
            this.age = age;

            this.address = "中国";

            //没有用this类声明的变量,不属于这个类的属性,这个类无权访问
            var x = 100;
            //创建一个行为
            this.say = function(){
                alert(this.name);
            }



        }

        var p1 = new Person("张三",11);
        alert("姓名:"+p1.name+"--地址:"+p1.address);
        p1.say();

        var p2 = new Person("李四",12);
        p2.address = "日本";
        alert("姓名:"+p2.name+"地址"+p2.address);


    </script>
</head>
<body>

</body>
</html>

  

<!DOCTYPE html>
<html>
<head>
    <title>javascript创建对象</title>
    <meta charset="UTF-8">
    <script type="text/javascript">

        var Person=function(name,age){

            //在这里用了this,这个变量就成了这个类的成员变量,方法也要用this来指定。不然的话这个类方法不能被访问
            this.name = name;
            this.age = age;

            this.address = "中国";

            //没有用this类声明的变量,不属于这个类的属性,这个类无权访问
            var x = 100;
            //创建一个行为
            this.say = function(){
                alert(this.name);
            }



        }

        var p1 = new Person("张三",11);
        alert("姓名:"+p1.name+"--地址:"+p1.address);
        p1.say();
        //还可以根据对象["属性字符串"]来完成对属性的调用
        alert(p1["name"]+","+p1["age"]);

        var p2 = new Person("李四",12);
        p2.address = "日本";
        alert("姓名:"+p2.name+"地址"+p2.address);
        //在Java中有增强的for循环,在javascript中也有for(in)
        for(var a in p1){
            alert(a+":"+p1.a);//这种方式是得不到属性的值的,因为p1.a它解析为a为p1的属性
            //这种方式可以得到属性的值
            alert(a+":"+p1[a]);
        }


    </script>
</head>
<body>

</body>
</html>

  

posted on 2015-02-05 23:55  aicpcode  阅读(104)  评论(0编辑  收藏  举报

导航