javascript学习二: 简单对象

来源:互联网 发布:顶级域名绑定二级域名 编辑:程序博客网 时间:2024/06/05 17:07

具体内容请看代码和注释

<script type="text/javascript">    //可以使用function来模拟java的类    function Person(name,age) {        //定义了一个Person的属性为name        this.name = name;        //定义了Person的属性为age        this.age = age;        this.address = "云南昭通";        //如果没有用this声明,这个变量就仅仅只是一个局部变量,不是类的属性        var x = 10;        //创建了一个行为        this.say = function() {            alert(this.name+","+this.age);        }    }    //创建了一个对象p1是Person的对象    var p1 = new Person("张三",12);    alert(p1.name+","+p1.address+","+p1.x);    p1.say();    var p2 = new Person("德华",22);    p2.address = "香港";    //可以通过对象["属性字符串"]完成对属性的调用    alert(p2["name"]+","+p2["address"]);    alert(typeof p1);//会显示object类型    alert(p1 instanceof Person);    //在js中对于对象而言,可以通过for in来变量对象的属性    for(var a in p1) {        //可以获取对象中的所有显示声明的属性        alert(a+":"+p1[a]);//这时只能用p1[a],而不能用p1.a    }    </script>

上述代码特别注意:
1. 变量在function中,如果没有用this声明,这个变量就仅仅只是一个局部变量,不是类的属性。
2. 调用属性可以有一下两种方式调用

alert(p1.name+","+p1.address+","+p1.x);alert(p2["name"]+","+p2["address"]);
var x = function() {        alert("x");    }    //此时x就是一个function函数    x();    function fn() {        alert("fn");        //对于函数而言,直接写return就等于有返回值        return "100";    }    //此时是将y这个变量指向函数fn,可以通过y()来调用函数    var y = fn;    fn();    //可以调用    y();    //将函数fn所执行的返回值传给z变量,所以z为100    var z = fn();    alert(z);//显示100    alert(y);//显示fn整个函数的定义
0 0
原创粉丝点击