在ECMAScript 6中追蹤了以JavaScript定義類別的class語法。在這篇文章中,我將介紹使用class語法實作JavaScript類別的程式碼。
我們先來看看瀏覽器的支援
因為它需要與ECMAScript 6相對應,所以它適用於以下瀏覽器。
Microsoft Edge
Google瀏覽器49或更高版本
Firefox 45或更高版本
我們來看看語法格式
class (类名){ constructor ([参数...]){ } (类名1)([参数...]){ ...(方法的实现) } (类名2)([参数...]){ ...(方法的实现) } ... (类名n)([参数...]){ ...(方法的实现) } }
我們來看簡單的範例
程式碼如下
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script type="text/javascript"> class MyClass { method01() { return "Hello JavaScript Class."; } } function onButtonClick() { var mclass = new MyClass(); var elem = document.getElementById("output"); elem.innerHTML = mclass.method01(); } </script> </head> <body> <div id="output">output</div> <hr/> <input type="button" value="Exec" onclick="onButtonClick();"> </body> </html>
說明:
我們使用以下程式碼宣告並實作該類別。
宣告「MyClass」類別。 MyClass有一個method01()方法。
method01()方法傳回一個字串「Hello JavaScript Class」。
class MyClass { method01() { return "Hello JavaScript Class."; } }
透過點選按鈕,執行以下onButtonClick()函數。
function onButtonClick() { var mclass = new MyClass(); var elem = document.getElementById("output"); elem.innerHTML = mclass.method01(); }
var mclass = new MyClass();
上面的程式碼建立了一個MyClass實例。建立的MyClass物件(MyClass實例)被指派給mclass變數。
var elem = document.getElementById("output"); elem.innerHTML = mclass.method01();
呼叫getElementById()方法並取得帶有「output」id的元素(div)。將呼叫MyClass類別的method1()方法的傳回值替換為取得元素的innerHTML。將帶有“output”作為id的div標記位置的文字變更為“Hello JavaScript Class”。
執行結果
使用網頁瀏覽器顯示上述HTML檔案。將顯示如下所示的效果。
按[Exec]按鈕。顯示“output”的部分的字串變更為“Hello JavaScript Class”。建立一個類別的實例,可以確認方法可以執行。
最後,我們來看建構子的範例
我們將使用建構函式介紹簡單類別的實作程式碼。
程式碼如下:
<!DOCTYPE html><html><head> <meta charset="utf-8" /> <title></title> <script type="text/javascript"> class MyClass { constructor(quote) { this.iquote = quote; } method01() { return this.iquote + "Hello JavaScript Class." + this.iquote; } } function onButtonClick() { var mclass = new MyClass("~"); var elem = document.getElementById("output"); elem.innerHTML = mclass.method01(); } </script> </head> <body> <div id="output">output</div> <hr /> <input type="button" value="Exec" onclick="onButtonClick();"> </body> </html>
說明:類別宣告和實作的格式與前面的程式碼相同。
constructor(quote) { this.iquote = quote; }
使用上面的constructor實作建構子。在此程式碼中,賦予建構子參數的值會儲存在iquote成員變數中。可以透過在「this」之後描述變數名來宣告成員變數。
method01() { return this.iquote + "Hello JavaScript Class." + this.iquote; }
method01()方法傳回一個字串「Hello JavaScript Class」。與前一個範例的不同之處在於,在字串之前和之後添加了賦予建構函數參數的字串。
function onButtonClick() { var mclass = new MyClass("~"); var elem = document.getElementById("output"); elem.innerHTML = mclass.method01(); }
點擊該按鈕將執行上面的onButtonClick()函數。建立MyClass的實例,並將方法1方法的傳回值指派給具有輸出ID的元素,並將其顯示在瀏覽器上。
運行結果
使用網頁瀏覽器顯示上述HTML檔案。將顯示如下所示的效果。
按[Exec]按鈕。顯示「output」的部分的字串變成「〜Hello JavaScript Class .~」。建立了一個類別的實例,您可以看到該方法是可執行的。在「Hello JavaScript Class .」的字串前後,可以確認「~」將會執行。
以上是使用class語法在JavaScript中實現類別的方法介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!