JavaScript 對象
JavaScript 對象是擁有屬性和方法的數據。類似 Object-c 的類對象。
真實生活中的對象,屬性和方法
真實生活中,一輛汽車是一個對象。
對象有它的屬性,如重量和顏色等,方法有啓動停止等:
property | method |
---|---|
car.name = Fiat | car.start() |
car.model = 500 | car.stop() |
car.weight = 850kg | car.drive() |
car.color = white | car.brake() |
所有汽車都有這些屬性, 但是每款車的屬性都不盡相同。
所有汽車都擁有這些方法, 但是它們被執行的時間都不盡相同。
JavaScript 對象
在所有面向對象的計算機語言中,幾乎所有的事物都是對象,JavaScript也不例外。
在 JavaScript 中,對象是非常重要的,當你理解的面向對象的思想,就可以瞭解JavaScript。
我們可以通過 JavaScript 變量的賦值,爲JavaScript對象賦值。
//以下代碼爲變量 car 設置值爲 "Fiat" :
var car = "Fiat";
//對象也是一個變量,但對象可以包含多個值(多個變量)。
var car = {type:"Fiat", model:500, color:"white"};
在以上實例中,3 個值 (“Fiat”, 500, “white”) 賦予變量 car。
在以上實例中,3 個變量 (type, model, color) 賦予變量 car。
JavaScript 對象是變量的容器。
對象定義
你可以使用字符來定義和創建 JavaScript 對象:
var person = {fristName : "Jerry", lastName : "Doe", age : 25, eyeColor : "blue"};
其中 定義JavaScript對象可以跨越多行, 空格跟換行不是必須的。
對象屬性
可以說 “JavaScript 對象是變量的容器”。
但是,我們通常認爲”JavaScript”對象是鍵值對的容器。
鍵值對通常寫法爲 ** key : value** (鍵與值以冒號分割),鍵值對的存在。
類似的鍵值對的寫法類似於:
- PHP 中的關聯數組
- OC/Swift 中的字典
- C 語言中的哈希表
- Java 中的哈希映射
- Ruby 和 Perl 中的哈希表
訪問對象屬性
你可以通過兩種方式訪問對象屬性:
person.lastName;
person[lastName];
JavaScript函數
函數是由事件驅動或者當它被調用時執行的可重複使用的代碼塊。
函數就是包裹在花括號中的代碼塊,前面使用了關鍵詞 function:
function functionName (){
//執行代碼
}
當調用改函數時,會執行函數內的代碼。
可以再某件事件發生時直接調用函數(比如當用戶點擊按鈕時),並且可由 JavaScript 在任何位置進行調用。
JavaScript 對大小寫敏感。關鍵詞function 必須是小寫的,並且必須以函數名稱相同的大小寫開調用函數。
調用帶參數的函數
在調用函數時, 可由向函數傳遞值,這些值被稱爲參數。
這些參數可以在函數中使用。
可以發送任意多的參數,由逗號(,)分隔
myFunction(argument1, argument2)
當聲明函數時,請把參數作爲變量來聲明:
function myFunction(var1, var2){
//代碼
}
示例
<button onclick="myFunction('Harry Potter','Wizard')">點擊這裏</button>
<script>
function myFunction(name,job){
alert("Welcome " + name + ", the " + job);
}
</script>
帶有返回值的函數
有時,我們會希望函數將值返回調用它的地方。
通過使用 return 語句就可以實現。
在使用 return 語句時, 函數會停止執行,並返回指定的值。
function myFunction()
{
var x=5;
return x;
}
注意: 整個 JavaScript 並不會停止執行,僅僅是函數。JavaScript 將繼續執行代碼,從調用函數的地方。 函數調用將被返回值取代:
var myVar = myFunction()
myVar 變量的值是 5,也就是函數 “myFunction()” 所返回的值。 即使不把它保存爲變量,也可以使用返回值:
document.getElementById("demo").innerHTML=myFunction();
局部 JavaScript 變量
在 JavaScript 函數內部聲明的變量(使用var)是局部變量,所以只能在局部訪問他。(該變量的作用域是局部的)。
您可以在不同的函數中使用名稱相同的局部變量,因爲只有聲明過該變量的函數才能識別出該變量。 只要函數運行完畢,本地變量就會被刪除。
全局 JavaScript 變量
在函數外聲明的變量是全局變量,網頁上的所有腳本和函數都能訪問它。
JavaScript 變量的生存期
JavaScript 變量的生命期從它們被聲明的時間開始。
局部變量會在函數運行以後被刪除。
全局變量會在頁面關閉後被刪除。
向未聲明的 JavaScript 變量分配值
如果您把值賦給尚未聲明的變量,該變量將被自動作爲全局變量聲明。 這條語句:
carname="Volvo";
將聲明一個全局變量 carname,即使它在函數內執行。