簡體   English   中英

在JavaScript中調用時創建新的“類”實例

[英]Creating new 'class' instance when called in JavaScript

當值從Android應用程序傳遞到JavaScript程序時,我試圖找出一種創建新類實例的方法。 我知道JS不使用類,但是有一些以類似方式使用函數的方法。

當用戶按下Android應用中的按鈕時,我想將隨機生成的ID(由我創建)發送到存儲ID(和用戶信息)的數據庫,然后讓JS程序提取ID並創建一個該ID的新實例。 將會有多個用戶同時訪問此實例,因此每次用戶按下按鈕時,我都需要創建一個新實例。 它還會將ID,緯度,經度和時間發送到單獨的數據庫,該數據庫將每秒更新和存儲位置。

例如,如果'user1'按下按鈕,則ID(user1)將被發送到DB_1,ID,緯度,經度和時間戳將被發送到DB_2。 JS將收到新用戶警報,並為user1創建一個實例,然后將ID用作變量來每秒搜索DB_2的坐標。 這樣,如果有多個用戶,則每個類將僅在DB_2中搜索與該用戶有關的坐標。 我需要這樣做,因為我必須能夠使用網絡上的Google Maps同時(實時)跟蹤多個用戶。 如果您有任何建議,請告訴我!

謝謝

如果您要做的只是使用自己的私有變量創建一個JavaScript對象,請嘗試執行以下操作

function User(id) {
this.id = id;
};

然后,您可以使用原型函數。

User.prototype.getId = function() {
return this.Id;
};

現在,您有了一個帶有私有變量ID和該變量的獲取器的對象。

您可以像這樣創建對象的實例

var user1 = new User(id1);
var user2 = new User(id2);
var user1Id = user1.getId();
var user2Id = user2.getId();

我喜歡使用原型模式,因為它可以確保事物的安全性和組織性,但是您最終還是會大量使用“ this”。 還有其他一些模式可以實現基本相同的功能,您可能更喜歡使用這些模式,但是我現在無法確定其中任何一個的名稱。

在構造中使用

function User(id) {
this.id = id;
};
User.prototype.getId = function() {
return this.Id;
};

除了沒有類型安全之外,有點類似於在Java中執行此操作。

public class User{
    private int id;

    public User(int id){
         this.id = id;
    }

    public int getUserId(){
        return this.id;
    }
}

當然,已編譯的Java和解釋的JavaScript的內部工作方式之間有很大的不同,但是上述方法給您類似的OO效果。

如果使用此方法並導致一些錯誤,則很可能您已在某處遺漏了“ this”。 原型函數中作為對象一部分的每個變量都必須具有“ this”。 字首。

希望這是您想要的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM