在javascript中物件的創建詳解
我們知道javscript是面向對像有語言,當然離不開對像操作.本文講解javascript創建對象.
從本質上講,創建物件的想法只是為了創建一個簡單的實體,這個實體包含了許多屬性和方法。
以下是一個物件建構器的例子:
function Person(name, age, colour) {
this.name = name;
this.age = age;這樣來呼叫Person建構器:
var somebody = new Person("Patrick", 22, "red");
或從使用者得到輸入數值:
var pName = prompt("What is your name?"); = prompt("How old are you this year?");
var pColour = prompt("What is your favourite colour?");
var somebody = new Person(pName, p5Person(pName, pAge, pscriptour);構造器,就像在Java中,都可以利用new關鍵字來進行呼叫。當一個person利用它的屬性{"Patrick", 22, "red"}被創建(或者說被構造)的時候,這些數值就可以訪問了,例如:
somebody.name, or somebody["name"] "Patrick"
somebody.age, or somebody["age"] 22
somebody.colour, or somebody["colour"] "red"
因為我們利用name增加了Personname,所以必須引用它們的屬性,所以必須透過名稱增加了Personname) ,這點在後面的程式碼中可以看到。如果我們使用數字,那麼我們就必須使用數字來引用,例如要用somebody[0],而不用somebody.name。
javascript的陣列和物件(如 forms,images,frames,…)都允許這兩種方法。
另外,數組和物件都有一個本質的屬性,即length(長度)。我們在編製程式的時候,可以這樣來使用它:objectName.length,它會傳回物件包含的元素或屬性的數量。
屬性同樣也可以從函數中來創建,這樣,你只需要增加一行到Person函數中就可以創建屬性了:
function Person(name, age, colour)
{
斯. age = age;
this.colour = colour;
this.birthYear = (new Date()).getYear() - this.age;
}
}
以上的Person函數定義了第四個屬性:它:一個Person的出生年。這裡要注意,這增加的行是呼叫一個內建的Date建構器,它傳回一個包含了目前日期和時間的Date物件。
這是一個非常懶惰的方法來存取一個Date變數。所以使用下面的程式碼會顯得更準確些,更有可讀性:
var today = new Date();
this.birthYear = today.getYear() - this.age;
當然,有許多方法來對javascript程式進行“壓縮”。透過插入物件到程式碼中,你就可以處理絕大多數的變數。
這個Date物件比起我們上面定義的Person物件來說更複雜,因為它包含了存取方法(accessor/get)以及操作方法(manipulator/set)。同時,增加簡單的物件方法到javascript是可能,以下是詳細的範例程式碼:
透過將物件重載重載.顯示出來。每當Person物件被引用為字串的時候,pringPerson傳回的數值就決定了該顯示什麼了。
上面腳本的輸出如下所示:
Patrick was born in 76
and is 22 years old.
Betty was born in 77
and is 21 years old.
〜 and is 21 years old.
[Patrick 〜 〜er〜〜〜.Patrick〜 er Patrick older 〜〼 1976年只用76來表示。所以你可能想增加「19」到這兩位數字的前面。不幸的是,「千年蟲」的問題使得你處理起來有點棘手。而不同的瀏覽器處理Date物件的getYear()方法是不同的。
Year(年份)
Navigator瀏覽器
IE 3.x瀏覽器
IE 4.x瀏覽器
你可以從上面表格中發現四位最新的瀏覽器支援1999年。不幸的是,老的瀏覽器處理年份的格式的時候給程式設計人員無盡的困惑。我常用的具體解決方法如下所示,與大家分享:
var thisYear = (new Date()).getYear();
thisYear = 1900 + (thisYear % 1900);
『將年份轉換位IE 3.x格式並且增加1900以獲得真實的年份(例如,2002年經過this Year%1900轉換位IE 3.x格式位元102,然後102再加上1900得到2002)。上面這兩個語句可以適用於從1900年到3799年的處理,現在看起來這麼長的時間是足夠使用了。但是,為了避免類似「千年蟲」問題,我們應該再找出更好的解決方案,在本教程中就不給了。另外,新的ECMA標準包含了一個名為getFullYear()的函數,它是傳回完整的年份格式,但這個函數只能由Navigator 4支持,在IE中是不能使用的。
最後對程式再做一點改進,我們可以修改People建構器以轉換年份為YYYY格式,具體程式碼如下:
this.birthYear = 1900 + (((new Date()).getYear() - this.age) % 1900);
在javascript中使用物件的能力通常被許多程式設計人員所忽略。但是從本教程中,你應該可以看到使用物件可以使程式設計師設計出更強大的應用程式來的。
更多相關文章請追蹤PHP中文網(www.php.cn)!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

WebSocket與JavaScript:實現即時監控系統的關鍵技術引言:隨著互聯網技術的快速發展,即時監控系統在各個領域中得到了廣泛的應用。而實現即時監控的關鍵技術之一就是WebSocket與JavaScript的結合使用。本文將介紹WebSocket與JavaScript在即時監控系統中的應用,並給出程式碼範例,詳細解釋其實作原理。一、WebSocket技

JavaScript和WebSocket:打造高效的即時天氣預報系統引言:如今,天氣預報的準確性對於日常生活以及決策制定具有重要意義。隨著技術的發展,我們可以透過即時獲取天氣數據來提供更準確可靠的天氣預報。在本文中,我們將學習如何使用JavaScript和WebSocket技術,來建立一個高效的即時天氣預報系統。本文將透過具體的程式碼範例來展示實現的過程。 We

JavaScript教學:如何取得HTTP狀態碼,需要具體程式碼範例前言:在Web開發中,經常會涉及到與伺服器進行資料互動的場景。在與伺服器進行通訊時,我們經常需要取得傳回的HTTP狀態碼來判斷操作是否成功,並根據不同的狀態碼來進行對應的處理。本篇文章將教你如何使用JavaScript來取得HTTP狀態碼,並提供一些實用的程式碼範例。使用XMLHttpRequest

將MySQL查詢結果陣列轉換為物件的方法如下:建立一個空物件陣列。循環結果數組並為每一行建立一個新的物件。使用foreach迴圈將每一行的鍵值對賦給新物件的對應屬性。將新物件加入到物件數組中。關閉資料庫連線。

PHP函數可以透過使用return語句後接物件實例來傳回對象,從而將資料封裝到自訂結構中。語法:functionget_object():object{}。這允許創建具有自訂屬性和方法的對象,並以對象的形式處理資料。

JavaScript中的HTTP狀態碼取得方法簡介:在進行前端開發中,我們常常需要處理與後端介面的交互,而HTTP狀態碼就是其中非常重要的一部分。了解並取得HTTP狀態碼有助於我們更好地處理介面傳回的資料。本文將介紹使用JavaScript取得HTTP狀態碼的方法,並提供具體程式碼範例。一、什麼是HTTP狀態碼HTTP狀態碼是指當瀏覽器向伺服器發起請求時,服務

在C++中,函數傳回物件需要注意三點:物件的生命週期由呼叫者負責管理,以防止記憶體洩漏。避免懸垂指針,透過動態分配記憶體或返回物件本身來確保物件在函數返回後仍然有效。編譯器可能會最佳化傳回物件的副本生成,以提高效能,但如果物件是值語義傳遞的,則無需副本生成。

Java堆和棧的區別及應用場景解析,需要具體程式碼範例在Java程式中,堆和棧是兩個常用的資料結構,它們在記憶體中承擔不同的角色和功能。了解堆疊和堆疊的差異對於編寫高效的Java程式至關重要。首先,我們來看看Java堆。堆是一個用來儲存物件的區域,所有在程式中被建立的物件都被儲存在堆中。堆是在程式運行時動態分配和釋放記憶體的地方,它不受任何限制,並且可以根據需要自動
