当前位置主页 > 资料库 > 前端教程 > JavaScript面向对象-简单对象的创建和JSON对象

JavaScript面向对象-简单对象的创建和JSON对象

2015-12-12

JavaScript是一种基于对象(Object-based)的编程语言,它的本质实际上是面向对象。面向对象的语言的特点是它们都有类的概念,通过类可以创建任意多个具有相同属性和方法的对象。但是在JavaScript中没有类的概念,通常称JavaScript中的对象为原型对象,我们可以直接通过Object来创建对象。例如下面的代码:

var person = new Object();
person.name = "张三";
person.age = 20;
person.say = function(){
  alert(this.name+","+this.age);
}                              
                            

在上面的代码中,通过Object简单的创建了一个person对象,随后为person对象设置了2个属性和1个方法。

通过上面的方式创建的对象,带来的最大问题是由于没有类的约束,无法实现对象的重复利用,并且没有一种约定,在操作是会带来问题。

Json对象

我们不能够在网络中传输一个JavaScript对象,在网络中只能够传输字符串。一个可行的传输对象的方法是将对象编写为XML格式进行传输,例如:

<?xml version="1.0" encoding="utf-8"?>
<preson>
  <id>1</id>
  <name>张三</name>
  <age>20</age>
</person>                              
                            

但是使用XML格式进行数据传输的时候,在传输过程中会产生大量的附加标签字符串,这样的传输效率明显不高。为了解决这些问题,人们研究出了另一种字符串对象的格式:Json对象格式。

Json的全称是javascript simple object notation,是一种简单的数据交换格式。Json对象就是javascript对象,但是它省略了xml中的标签,而是通过{}来完成对象的说明。

Json格式通过属性名:属性值来定义属性,不同的属性通过逗号(,)来分隔,最后一个属性不需要添加逗号。例如下面的代码定义了一个Json格式的person对象。

var person = {
  name : "张三",
  age:23,
  say:fuction(){
    alert(this.name+","+this.age);
  }
}                              
                            

要调用person对象的属性和方法和普通的JavaScript对象使用的方法相同,例如:

// 调用person的say方法
person.say();                              
                            

我们通过Json也可以创建对象数组,创建的方式和JavaScript的数组一样。

var ps = [
  {name:"Leon",age:22},
  {name:"Ada",25}
];                              
                            

在完成数组的创建之后,我们也可以遍历数组中的Json对象。

for(var i = 0; i < ps.length; i++){
  alert(ps[i].name);
}                              
                            
Previous:
上一篇:JavaScript深入理解函数 - 函数的属性
Next:
下一篇:JavaScript面向对象-使用工厂方法和构造函数方法创建对象
返回顶部