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

javascript 的一点总结

Javascript面向对象的特性

(总结自:http://www.cnblogs.com/zhangziqiu/archive/2009/05/26/jQuery-Learn-javascript.html?,在此仅作为学习笔记)

?

1、创建一个类

?

var obj = new Object(); //其中new可以省略

?

?

2、创建属性,不用声明直接赋值:

obj.property1 = "I'm property1.";

?

3、嵌套属性

?var objectB = objectA;

objectB.other = objectA;
//此时下面三个值相当, 并且改变其中任何一个值其余两个值都改变
objectA.name;
objectB.name;
objectB.other.name;

?

4、使用索引

?

//如果objectA上有一个属性名称为"school.college", 那么我们没法通过"."访问,因为"objectA.school.college"语句是指寻找objectA的school属性对象的college属性.
//这种情况我们需要通过索引设置和访问属性:
         objectA["school.college"] = "BITI";
         alert(objectA["school.college"]);
 
//下面几个语句是等效的:
        objectA["school.college"] = "BITI";
        var key = "school.college"
        alert(objectA["school.college"]);
        alert(objectA["school" + "." + "college"]);        
        alert(objectA[key]);

?

?

5、JSON 格式语法

?

        //JSON
        var objectA = {
            name: "myName",
            age: 19,
            school:
            {
                college: "大学",
                "high school": "高中" 
            },
            love:["编程","唱歌","游玩"]
        }

?

?可用objectA.school["high school"];objectA.school.college;objectA.like[1]; 等来访问。。。

?

6、静态方法与实例方法

?

        function theStaticClass() { }; //声明一个类
        theStaticClass.staticMethod = function() { alert("static method") }; //创建一个静态方法
        theStaticClass.prototype.instanceMethod = function() { "instance method" }; //创建一个实例方法

?对于静态方法可以直接调用:

?

?

staticClass.staticMethod();

?

但是动态方法不能直接调用:

staticClass.instanceMethod(); //语句错误, 无法运行.

?

需要首先实例化后才能调用: