JavaScript是一门面向对象编程的语言, 对象是拥有属性和方法的数据。
程序员不缺对象
真实生活中,你的女朋友是一个对象。
对象有它的属性,如名字和年龄等,方法(行为)有逛街、聊天、睡觉、购物等:
对象 | 属性 | 方法 |
---|---|---|
girl.name = "cuihua" girl.age = 18 girl.weight = "40kg" girl.height = "175cm" |
girl.walk() girl.talk() girl.sleep() girl.shopping() |
所有你喜欢的姑娘都有这些属性,但是每位姑娘的属性与方法都不尽相同。
所以程序猿有时候更喜欢与自己创建的对象打交道
JavaScript 对象
在 JavaScript中,几乎所有的事物都是对象。
你已经学习了 JavaScript 变量的赋值。
对象也是一个变量,但对象通常包含多个值(多个变量)。
var girl = {name:"翠花", age:18, height:175};
在以上实例中,girl
包含了3 个变量 (name
, age
, height
) 。
JavaScript 对象是变量的容器。如果你已经学过python,会发现与python的字典类型很相似,所不同的是,在javascript中,键名可以不加引号。
对象定义
你可以使用字符来定义和创建 JavaScript 对象:
对象定义实例1:
在一行语句中完成定义
var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
对象定义实例2
定义 JavaScript 对象可以跨越多行,空格跟换行不是必须的:
<script>
var person = {
firstName:"John",
lastName:"Doe",
age:50,
eyeColor:"blue"
};
console.log(person)
</script>
对象属性
可以说 "JavaScript 对象是变量的容器"。
但是,我们通常认为 "JavaScript 对象是键值对的容器"。
键值对通常写法为 name
:
value
(键与值以冒号分割)。
键值对在 JavaScript 对象通常称为 对象属性。
对象键值对的写法类似于:
- PHP 中的关联数组
- Python 中的字典
- C 语言中的哈希表
- Java 中的哈希映射
- Ruby 和 Perl 中的哈希表
访问对象属性
你可以通过两种方式访问对象属性:
使用点语法访问对象属性值
对象.属性名
<script>
var person = {
firstName:"John",
lastName:"Doe",
age:50,
eyeColor:"blue"
};
console.log(person.firstName)
</script>
使用方括号获取对象属性值
对象[属性名]
<script>
var person = {
firstName:"John",
lastName:"Doe",
age:50,
eyeColor:"blue"
};
console.log(person["firstName"])
</script>
对象方法
对象的方法定义了一个函数,并作为对象的属性存储。
对象方法通过添加 () 调用 (作为一个函数)。
该实例访问了 person 对象的 fullName() 方法:
<body>
<p>创建和使用对象方法。</p>
<p>对象方法作为一个函数定义存储在对象属性中。</p>
<p id="demo"></p>
<script>
var person = {
firstName: "John",
lastName : "Doe",
id : 5566,
fullName : function()
{
return this.firstName + " " + this.lastName;
}
};
document.getElementById("demo").innerHTML = person.fullName();
</script>
在随后的教程中你将学习到更多关于函数,属性和方法的知识。
讨论区