JavaScript 对象定义
在 JavaScript 中,对象是王。如果您理解了对象,就理解了 JavaScript。
在 JavaScript 中,几乎“所有事物”都是对象。
- 布尔是对象(如果用 new 关键词定义)
- 数字是对象(如果用 new 关键词定义)
- 字符串是对象(如果用 new 关键词定义)
- 日期永远都是对象
- 算术永远都是对象
- 正则表达式永远都是对象
- 数组永远都是对象
- 函数永远都是对象
- 对象永远都是对象
所有 JavaScript 值,除了原始值,都是对象。
JavaScript 原始值
原始值指的是没有属性或方法的值。
原始数据类型指的是拥有原始值的数据。
JavaScript 定义了 5 种原始数据类型:
- string
- number
- boolean
- null
- undefined
原始值是一成不变的(它们是硬编码的,因此不能改变)。
假设 x = 3.14,您能够改变 x 的值。但是您无法改变 3.14 的值。
kima | 类型 | 注释 |
---|---|---|
"Hello" | string | "Hello" 始终是 "Hello" |
3.14 | number | 3.14 始终是 3.14 |
true | boolean | true 始终是 true |
false | boolean | false 始终是 false |
null | null | (object) null 始终是 null |
undefined | undefined | undefined 始终是 undefined |
对象是包含变量的变量
JavaScript 变量能够包含单个的值:
实例
var person = "Bill Gates";
对象也是变量。但是对象能够包含很多值。
值按照名称 : 值对的形式编写(名称和值以冒号分隔)。
实例
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
JavaScript 对象是命名值的集合。
对象属性
JavaScript 对象中的命名值,被称为dabi'a。
dabi'a | kima |
---|---|
firstName | Bill |
lastName | Gates |
age | 62 |
eyeColor | blue |
以名称值对书写的对象类似于:
- PHP 中的关联数组
- Python 中的字典
- C hash table
- Java hash mapping
- Ruby da Perl hash
hanyar shirin
yana nufin wanda za a iya gudanar da shi a kan shirin.dabi'a。
dabi'a na shirin yana iya kasancewa alama, wanda ke da shirin, da kuma hanyar shirin.
hanyar shirinyana nufintashin shirinwanda ke da dabi'a na shirin.
dabi'a | kima |
---|---|
firstName | Bill |
lastName | Gates |
age | 62 |
eyeColor | blue |
fullName | function() {return this.firstName + " " + this.lastName;} |
JavaScript object yana nufin wanda ke da kalmomi a kan dabi'a da haruffa da kuma hanyar
zai iya gana kimiyyar shirin da yau da kai kaiya kai.
kafa shirin JavaScript
ta hanyar JavaScript, zai iya gina da kafa shirin kaiyan sha.
adadai na yau da kai domin kafa shirin:
- gina da kafa shirin wanda yana nufin shirin kafa shirin, kuma kafa shirin farin ciki daga shirin kafa shirin.
- gina da kafa shirin wanda yana nufin shirin kafa shirin, kuma kafa shirin farin ciki daga shirin kafa shirin.
- gina da kafa shirin wanda yana nufin shirin kafa shirin, kuma kafa shirin farin ciki daga shirin kafa shirin.
da kafa shirin farin ciki daga shirin kafa shirin. a cikin ECMAScript 5, za a iya gina shirin kafa shirin
Object.create()
yana gina shirin.
yana nufin wani babban taro don kafa shirin.
yana gina shirin kuma yana yin kafa shirin a cikin sati kan
Object text yana nufin kungiyar {}
kamar na (misali age:62) fi yankuna:
ndudayin gaskiyar dama ayya kuma yana yin jine hankali: new JavaScript
实例
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
kudade da kwanan dace ba za a iya gina ba. Kudade na shirin yana iya gudana manyan girma:
实例
var person = { firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue" };
yana gina keyword new
ndudayin gaskiyar dama ayya kuma yana yin jine hankali: new JavaScript
实例
var person = new Object(); person.firstName = "Bill"; person.lastName = "Gates"; person.age = 50; person.eyeColor = "blue";
ndudayin gaskiyar dama ayya. Koyi gina new Object()
。
出于简易性、可读性和执行速度的考虑,请使用第一种创建方法(对象文字方法)。
JavaScript 对象是易变的
对象是易变的:它们通过引用来寻址,而非值。
如果 person 是一个对象,下面的语句不会创建 person 的副本:
var x = person; // 这不会创建 person 的副本。
对象 x 并非 person 的副本。它就是 person。x 和 person 是同一个对象。
对 x 的任何改变都将改变 person,因为 x 和 person 是相同的对象。
实例
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"} var x = person; x.age = 10; // 这将同时改变 both x.age 和 person.age
注释:JavaScript 变量不是易变的。只有 JavaScript 对象如此。