JavaScript類別的定義...LOGIN

JavaScript類別的定義和實例化

類別的定義

嚴格的說,JavaScript 是基於物件的程式語言,而不是物件導向的程式語言。

在物件導向的程式語言中(如Java、C++、C#、PHP等),宣告一個類別使用 class 關鍵字。

例如:public class Person{}

但是在JavaScript中,沒有宣告類別的關鍵字,也沒有辦法控制類別的存取權。

JavaScript 使用函數來定義類別。

語法:
function className(){
    // 特定動作
}


例如,定義一個Person類別:

function Person() {
    this.name=" 张三 ";  // 定义一个属性 name
    this.sex=" 男 ";  // 定义一个属性 sex
    this.say=function(){  // 定义一个方法 say()
        document.write("嗨!大家好,我的名字是 " + this.name + " ,性别是 " + this.sex + "。");
    }
}

說明:this 關鍵字是指目前的物件。

建立物件(類別的實例化)

建立物件的過程也是類別實例化的過程。

在JavaScript中,建立物件(即類別的實例化)使用 new 關鍵字。

語法:
new className();

將上面的Person 類別實例化:

var zhangsan=new Person();
zhangsan.say();

執行程式碼,輸出如下內容:
    嗨!大家好,我的名字是 張三 ,性別是 男 。

定義類別時可以設定參數,建立物件時也可以傳遞對應的參數。

下面,我們將Person類別重新定義:

function Person(name,sex) {
    this.name=name;  // 定义一个属性 name
    this.sex=sex;  // 定义一个属性 sex
    this.say=function(){  // 定义一个方法 say()
        document.write("嗨!大家好,我的名字是 " + this.name + " ,性别是 " + this.sex);
    }
}
var zhangsan=new Person("小丽","女");
zhangsan.say();

運行程式碼,輸出以下內容:
    嗨!大家好,我的名字是 小麗 ,性別是 女 。

下一節
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <script>function Person(name,sex) { this.name=name; // 定义一个属性 name this.sex=sex; // 定义一个属性 sex this.say=function(){ // 定义一个方法 say() document.write("嗨!大家好,我的名字是 " + this.name + " ,性别是 " + this.sex); } } var zhangsan=new Person("小丽","女"); zhangsan.say();</script> </head> <body> </body> </html>
章節課件