JavaScript 对象

JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。

在 JavaScript 中,对象是拥有属性和方法的数据。

JavaScript的对象是一种无序的集合数据类型,它由若干键值对组成。

对象定义

你可以使用字符来定义和创建 JavaScript 对象:

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>php中文网(php.cn)</title> 
<script language="JavaScript">
        var person = new Object();
     person.name="kevin";
     person.age=31;
     alert(person.name);
     alert(person["age"])
</script>
</head>
<body>
</body>
</html>

对象属性

可以说 "JavaScript 对象是变量的容器"。

但是,我们通常认为 "JavaScript 对象是键值对的容器"。

键值对通常写法为 name : value (键与值以冒号分割)。

键值对在 JavaScript 对象通常称为 对象属性。

JavaScript 对象是属性变量的容器。    

对象键值对的写法类似于:

PHP 中的关联数组Python 中的字典C 语言中的哈希表Java 中的哈希映射Ruby 和 Perl 中的哈希表

JavaScript的对象是动态类型,你可以自由地给一个对象添加或删除属性:

var xiaoming = {
   name: '小明'

};
xiaoming.age; // undefined

xiaoming.age = 18; // 新增一个age属性

xiaoming.age; // 18

delete xiaoming.age; // 删除age属性

xiaoming.age; // undefined

delete xiaoming['name']; // 删除name属性

xiaoming.name; // undefined

delete xiaoming.school; // 删除一个不存在的school属性也不会报错


对象方法

对象的方法定义了一个函数,并作为对象的属性存储。

对象方法通过添加 () 调用 (作为一个函数)。

该实例访问了 person 对象的 fullName() 方法:

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>php中文网(php.cn)</title> 
</head>
<body>
<p id="demo"></p>
<script>
var person = {
    firstName: "Tom",
    lastName : "Jay",
    id : 666,
    fullName : function() 
      {
       return this.firstName + " and " + this.lastName;
    }
};
      document.getElementById("demo").innerHTML = person.fullName();
</script>
</body>
</html>

访问对象方法

你可以使用以下语法创建对象方法:

methodName : function() { code lines }

你可以使用以下语法访问对象方法:

objectName.methodName()

通常 fullName() 是作为 person 对象的一个方法, fullName 是作为一个属性。

有多种方式可以创建,使用和修改 JavaScript 对象。

同样也有多种方式用来创建,使用和修改属性和方法。



继续学习
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <script> function Person(name,age,job) { this.name=name; this.age=age; this.job=job;   this.friends=["Jams","Martin"]; } Person.prototype.sayFriends=function() { alert(this.friends); }; var person1 = new Person("kevin",31,"SE"); var person2 = new Person("Tom",30,"SE"); person1.friends.push("Joe"); person1.sayFriends();//Jams,Martin,Joe person2.sayFriends();//Jams,Martin </script> </body> </html>
提交重置代码