对象的定义:

对象是一个包含相关数据和方法的集合(通常由一些变量和函数组成,我们称之为对象里面的属性和方法)。

 

写法:

var person={};    例如下边就是一个对象:

 1     var persion={
 2             
 3             name:["bob","smith"],    
 4             age:32,                 
 5             gender:"man",            
 6             interests:['music','swim'],
 7             
 8           bio:function (){
 9                 
10                 alert(this.name[0]+" "+this.name[1]+" "+"is"+" " + this.age +" "+"years old."+" "+"He"+" "+ "likes"+" "+this.interests[0] )
11            },
12             
13           greeting:function() {
14                                alert("Hi! I'm " + this.name[0])
15            }
16             
17             
18         }

 

一个对象由许多的成员组成(成员类型包括字符串,函数,数组,数字等组成),每一个成员都拥有一个名字(像上面的name、age),和一个值(如['Bob', 'Smith']、32)。每一个名字/值(name/value)对被逗号分隔开,并且名字和值之间由冒号(:)分隔 。

 

 

对象取值

接去取对象里的成员名就可以,例如

1         persion.name[0];          //取对象persion里边name里的第一项 也就是"bob"字符串。
2         persion.age;              //取对象persion里边age里值,也就是数字32.
3         persion.bio();            //调用对象里边persion里边的bio函数。

 

 

 

给对象赋值 

直接在对象下边进行赋值就可以,例如:

 

1   persion.name[0]="李敏";     //给对象persion里边name里的第一项 也就是"bob"字符串替换成"李敏"字符串。
2   persion.age=45            //给对象persion里边age换值,也就是数字32替换成45.
3   persion.bio();            //调用对象里边persion里边的bio函数。

 

 

 

给对象添加新的成员

代码如下:

1  persion["str"]="string";                        //给对象persion 增加字符串成员str。
2      
3  persion["shuzu"]=["1","2"];                     //给对象persion 增加数组成员shuzu
4       
5  persion.fangfa =function  () {alert("欢迎")}   //给对象persion 增加函数成员fangfa
6 
7  persion.fangfa()                               //调用函数fangfa

 

取用户的输入值的时候 我们一般用input框来取值然后赋值到对象中,如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="https://libs.baidu.com/jquery/2.0.0/jquery.js"></script>
    </head>
    <body>
        
        
        <input type="text" id="wenben"/>
        <input type="button" value="按钮" id="anniu"/>
    
        
    </body>
<script language="JavaScript1.2">
        
        var persion={
            
            name:["bob","smith"],    
            age:32,                 
            gender:"man",            
            interests:['music','swim'],
            
          bio:function (){
                
                alert(this.name[0]+" "+this.name[1]+" "+"is"+" " + this.age +" "+"years old."+" "+"He"+" "+ "likes"+" "+this.interests[0] )
           },
            
          greeting:function() {
                               alert("Hi! I'm " + this.name[0])
           }
            
            
        }
 
 
     persion["str"]="string";                        //给对象persion 增加字符串成员str。
     
     persion["shuzu"]=["1","2"];                     //给对象persion 增加数组成员shuzu
      
     persion["fangfa"]=function  () {alert("欢迎")}   //给对象persion 增加函数成员fangfa

//    persion.fangfa()                               //调用函数fangfa
    
    var button=document.getElementById("anniu");
    button.onclick=function () {
         persion["user"]=document.getElementById("wenben").value;  //创建persion的一个成员user的值是用户在input文本框里输入的值
         alert(persion.user)
    }
    
   

        </script>

</html>

 

this的用法:

关键字"this"指向了当前代码运行时的对象,在上边的代码中,this代表了persion这个对象,当有多个对象的时候 可能一个对象中包含有相同的成员名 比如name值 这时候这个this保证了当代码的上下文(context)改变时变量的值的正确性

 

JSON

定义:

JSON 是一种按照JavaScript对象语法的数据格式,这是 Douglas Crockford 推广的。虽然它是基于 JavaScript 语法,但它独立于JavaScript,这也是为什么许多程序环境能够读取(解读)和生成 JSON。 

 

结构:

我们已经可以推测出 JSON 对象就是基于 JavaScript 对象,而且这几乎是正确的。您可以把 JavaScript 对象原原本本的写入 JSON 数据——字符串,数字,数组,布尔还有其它的字面值对象。这允许您构造出一个对象树,如下:

 1 var superhero={
 2   "squadName" : "Super hero squad",
 3   "homeTown" : "Metro City",
 4   "formed" : 2016,
 5   "secretBase" : "Super tower",
 6   "active" : true,
 7   "members" : [
 8     {
 9       "name" : "Molecule Man",
10       "age" : 29,
11       "secretIdentity" : "Dan Jukes",
12       "powers" : [
13         "Radiation resistance",
14         "Turning tiny",
15         "Radiation blast"
16       ]
17     },
18     {
19       "name" : "Madame Uppercut",
20       "age" : 39,
21       "secretIdentity" : "Jane Wilson",
22       "powers" : [
23         "Million tonne punch",
24         "Damage resistance",
25         "Superhuman reflexes"
26       ]
27     },
28     {
29       "name" : "Eternal Flame",
30       "age" : 1000000,
31       "secretIdentity" : "Unknown",
32       "powers" : [
33         "Immortality",
34         "Heat Immunity",
35         "Inferno",
36         "Teleportation",
37         "Interdimensional travel"
38       ]
39     }
40   ]
41 }

 

 

 取值:

为了访问对象中的对象,您只需简单地链式访问(通过属性名和数组索引)。例如,访问 superHeroes 对象中的 members 数组对象的第二个元素的 powers 数组对象的第三个元素,您可以这样做:

 

alert(superhero.members[0].powers[0])

 

 

 

 

其他注意事项

  • JSON 是一种纯数据格式,它只包含属性,没有方法。
  • JSON要求在字符串和属性名称周围使用双引号。 单引号无效。
  • 甚至一个错位的逗号或分号就可以导致  JSON 文件出错。您应该小心的检查您想使用的数据(虽然计算机生成的 JSON 很少出错,只要生成程序正常工作)。您可以通过像 JSONLint 的应用程序来检验 JSON。
  • JSON 可以将任何标准合法的 JSON 数据格式化保存,不只是数组和对象。比如,一个单一的字符串或者数字可以是合法的 JSON 对象。虽然不是特别有用处……
  • 与 JavaScript 代码中对象属性可以不加引号不同,JSON 中只有带引号的字符串可以用作属性。