JavaScript學習筆記_物件

2020-08-14 21:08:15

學習前端知識的同時,梳理知識,也便於以後查詢
tags:

JavaScript 物件

JavaScript 物件是擁有屬性和方法的數據。

真實生活中的物件,屬性和方法
生活中,一輛汽車是一個物件。品質、體積、速度等等是它的屬性。

物件有它的屬性,如重量和顏色等,方法有啓動停止等:

物件

  • 在 JavaScript中,幾乎所有的事物都是物件。
  • 在 JavaScript 中,物件是非常重要的

物件也是一個變數,但物件可以包含多個值(多個變數)。

JavaScript 物件是變數的容器。
JavaScript 物件是屬性和方法的容器。

物件定義

可以使用字元來定義和建立 JavaScript 物件:

定義 JavaScript 物件可以跨越多行,空格跟換行不是必須的

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
或者
var person = {
    firstName:"John",
    lastName:"Doe",
    age:50,
    eyeColor:"blue"
};

關於Undefined 和 Null

  • Undefined 這個值表示變數不含有值。

  • 可以通過將變數的值設定爲 null 來清空變數。

<script>
var str;
document.write(str + "<br>");
	
var car="Volvo";
document.write(car + "<br>");
	
var car=null
document.write(car + "<br>");
</script>

執行結果:
在这里插入图片描述

物件屬性

可以說 「JavaScript 物件是變數的容器」。

但是通常認爲 「JavaScript 物件是鍵值對的容器」。

鍵值對通常寫法爲 name : value (鍵與值以冒號分割)。

鍵值對在 JavaScript 物件通常稱爲 物件屬性。

與其他語言對照:

  • PHP 中的關聯陣列
  • Python 中的字典
  • C 語言中的雜湊表
  • Java 中的雜湊對映
  • Ruby 和 Perl 中的雜湊表

存取物件屬性

可以通過兩種方式存取物件屬性

person.lastName;
或者
person["lastName"];

物件方法

物件的方法定義了一個函數,並作爲物件的屬性儲存。

物件方法通過新增 () 呼叫 (作爲一個函數)。

存取物件方法

  • 函數屬性作爲一個方法存取,訪問了 person 物件的 fullName() 方法,通過.
  • 函數屬性作爲一個屬性存取,要存取 person 物件的 fullName 屬性,作爲一個定義函數的字串返回
p>建立和使用物件方法。</p>
<p>物件方法是一個函數定義,並作爲一個屬性值儲存。</p>
<p id="demo1"></p>
<p id="demo2"></p>
<script>
var person = {
    firstName: "John",
    lastName : "Doe",
    id : 5566,
    fullName : function() 
	{
       return this.firstName + " " + this.lastName;
    }
};
//函數屬性作爲一個方法存取
document.getElementById("demo1").innerHTML = "不加括號輸出函數表達式:"  + person.fullName;

//函數屬性作爲一個屬性存取,作爲一個定義函數的字串返回
document.getElementById("demo2").innerHTML = "加括號輸出函數執行結果:"  +  person.fullName();
</script>

通過new一個物件存取物件方法

methodName : function() {
    // 程式碼 
}

objectName.methodName()

通常 fullName() 是作爲 person 物件的一個方法, fullName 是作爲一個屬性。

如果使用 fullName 屬性,不新增 (), 它會返回函數的定義

objectName : methodName(){
	//程式碼
}

objectName.methodName

–END–