1. 概念
JavaScript不僅是支援對象的,而且一切皆為對象。
既然對象在JavaScript中是那樣的普遍存在,是以JavaScript自帶eval()函數用于将字元串轉換為JavaScript對象。
例如:
<html>
<head>
<title>我的個人首頁</title>
</head>
<body>
<script type="text/javascript">
var str='{"name":"maoge","age":20}';
var obj = eval('(' + str + ')');
console.log(obj);
</script>
</body>
</html>
1
2
3
4
5
6
7
8
9
10
11
12
測試結果:
/*下面是chrome浏覽器的console輸出内容*/
Object {name: "maoge", age: 20}
2. 定義對象
可以直接定義對象,注意JavaScript對象定義和json字元串内容是有差別的,json中name、age是鍵,需要雙引号包圍。而JavaScript中name、age是屬性名稱,直接寫名字就行。
var person={name:"maoge",age:20};
作為動态語言,也可以先定義一個對象,再添加屬性。
var person=new Object();
person.name="maoge";
person.age=20;
也可以使用function和this關鍵字,好處是可以有構造函數。
//定義
function person(name,age)
{
this.name=name;
this.age=age;
function changeName(inputName)
{
this.name=inputName;
}
}
//初始化并指派
var p=new person("mm","22");
console.log(p);
13
3. 屬性周遊
JavaScript的對象的屬性可以使用for in來周遊,例如:
for(x in person)
console.log(x);//輸出name age
console.log(person[x]);//輸出maoge 20