51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

[JavaScript学习]JavaScript面向对象-简单对象的创建和JSON对象

在上一篇文章中我们介绍了"JavaScript闭包-匿名函数和函数的作用域链"。今天将继续学习其他知识:JavaScript面向对象-简单对象的创建和JSON对象。

600.png

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);
}

返回javascript教程主目录>>


赞(0)
未经允许不得转载:工具盒子 » [JavaScript学习]JavaScript面向对象-简单对象的创建和JSON对象