分享

传智播客:ajax-JavaScript中简单类定义和json数据格 - habernat...

 遥远的桥zz 2011-04-07

传智播客:ajax-JavaScript中简单类定义和json数据格

java 2009-04-09 14:28:00 阅读71 评论0   字号: 订阅

简单对象的定义和使用
function objectTest() {
            //创建简单对象
            //方式1,通过new Object()
            var obj1 = new Object();
            //方式2,通过{}
            var obj2 = {};
            
            //增加属性,使用.操作符
            obj1.num = 1;
            obj1.str = "String";
            //增加一个属性,指象一个方法
            obj1.hello = function() {
                alert("hello!");
            }
            //这个属性指向一个对象
            obj2.obj = obj1;
            
            //属性的访问,方法1,使用.操作符
            alert(obj2.obj.num);
            alert(obj2.obj.str);
            obj1.hello();
            //属性的访问,方法2,使用[]操作
            alert(obj2["obj"]["num"]);
            alert(obj2["obj"]["str"]);
            obj1["hello"]();
            
            //对象直接量定义方法,利用{}
            //在最初定义对象的时候设置好属性和属性值。
            var obj3 = {
                num:1,
                str:"String",
                hello:function() {
                    alert("hello");
                }
            };
            alert("");
        }



json数据格式
JOSN数据格式:JavaScript object Notation是一种轻量级的数据交换格式。
是纯文本个格式,JavaScript原生支持。现在很多ajax应用不使用xml,而使用josn来做数据交互格式。
与xml相比,json的优势:JavaScript原生支持,解析速度快,不需要是使用dom
缺点:在服务器端,生成正确的json格式数据和生成xml格式数据,服务器端语言的辅助包对xml支持要好一些。josn的辅助包还不够成熟。
下面是一个xml文档
<books>
   <book isdn="0001">
       <author>wang</author>
       <name>ajax professional</name>
       <price>35</price>
   </book>
       <book isdn="0002">
       <author>lee</author>
       <name>ajax in action</name>
       <price>65</price>
   </book>
</books>
与这个xml相对应的josn格式
[
    {
        isdn:"0001",author:"wang",
        name:"ajax professional",
        price:35
    }
    {
        isdn:"0002",author:"lee",
        name:"ajax in action",
        price:65
    }
]
对比可以发现,在josn中,xml中的<books>标签被换成了一个数组([]定义一个数组),xml中的<book>在josn中换成了数组中保存的对象({}
用于定义对象),xml中<book>的各种属性在josn中被定义成了对象的各个属性。
function jsonTest() {
            //JSON数据格式定义
          //json数据格式就是字符串,这个字符串里面是JavaScript中定义一个数组的命令
            var json1 = "[1,2,{" +
                "a:123,b:'String',c:[100,1001]" +
                "}]";
            //eval可以把输入的字符串转化成JavaScript中执行的语句。
            //转化结果是一个数组[1,2,{a:123,b:"String",c:[100,1001]}]
            var jsonArray = eval(json1);
            //这个json格式只定义了一个对象
            var json2 = "{" +
                    "a:'Hello',b:[1,2,3],c:function(){alert(\"Hi!!!\")}" +
                "}";
            //注意,如果json里面写的是一个数组,直接eval就可以了
            //但如果是对象,就必须使用下面的方式,否则得不到正确结果。
            var jsonobj = eval("(" + json2 + ")");
            alert("");
        }

JavaScript中类的定义
javascript中的类定义,需要靠function来模拟
function Teacher() {
            
        }
但是这种方式定义类很难和方法区分,所以一般定义类的时候都使用下面的方式
var Teacher = function() {
            
        }
下面是个定义一个类以及其中的属性和方法的例子
//定义一个Book的类,这个function还承担了模拟构造函数的工作
//在使用new操作符创建Book类的对象时,这个function中的代码会被执行
//这里面的this代表当前对象

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多