我怎樣才能在JavaScript中模擬“類”?(有或沒有第三方庫)

我怎樣才能在JavaScript中模擬“類”?(有或沒有第三方庫)

我怎樣才能在JavaScript中模擬類(和名稱空間)? 我需要創建一個JavaScript庫,對這個語言的使用經驗有限。 我一直認為它對類有本地支持,但是與Java的關係不如我想像的那麼重要。 似乎JavaScript中的所有內容實際上都是一個函數。 到目前為止,我發現了一個很有意義的動態弱類型語言,但是這對於那些習慣於使用強類型語言並使用編譯器來發現我們的錯誤的人來說是一個離題:)…


javascript - 如何檢測函數是否被稱為構造函數?

給定一個函數: function x(arg){return 30;}你可以通過兩種方式來調用它: result=x(4); result=new x(4); 第一個返回30,第二個返回一個對象。 如何檢測函數在函數內部被調用的方式? 無論您的解決方案是什麼,它都必須與以下調用一起使用: var Z=new x(); Z.lolol=x; Z.lolol()…


javascript - 從原型定義的函數訪問私有成員變量

有沒有辦法讓“私有”變量(那些在構造函數中定義的變量)可用於原型定義的方法? TestClass=function(){ var privateField="hello"; this.nonProtoHello=function(){alert(privateField)};}; TestClass.prototype.prototypeHello=functi…



Python對象.__ repr__(self)應該是一個表達式?

我正在查看Python文檔中的內置對象方法,我對object.__repr__(self)的文檔很感興趣。 這是它說的: 由repr()內置函數和字符串轉換(反向引號)調用,以計算對象的“官方”字符串表示形式。 如果可能的話,這應該看起來像一個有效的Python表達式,可用於重新創建具有相同值的對象(給定適當的環境)。 如果這不可能,則應返回<...一些有用的描述...>形式的字符串。 返回值必…


Javascript原型上的私人成員

那麼我試圖找出這是可能的任何方式。 這是代碼: a=function(text){var b=text; if(!arguments.callee.prototype.get) arguments.callee.prototype.get=function(){return b;}else alert('…


Python super()引發TypeError

在Python 2.5中,下面的代碼引發了一個TypeError:>>> class X: def a(self): print "a">>> class Y(X): def a(self): super(Y,self).a() print "b">>> c=Y()>>> c.a() Traceback(m…


用__init__()方法理解Python super()

這個問題在這裡已有答案: “超級”在Python中做了什麼? 6個答案 我試圖了解super()的用法。 從它的外觀來看,可以創建兩個子類,就好了。 我很想知道以下兩個子課程之間的實際差異。 class Base(object): def__init__(self): print "Base created" class ChildA(Base): def…


將新JavaDoc附加到現有的super方法

我已經生成了一個非常好的文檔接口。 每個方法都有自己的JavaDoc。 實現此接口的條款在邏輯上幾乎沒有區別。 如何從超類中將JavaDoc添加到現有JavaDoc中。 關鍵詞/***{@inheritDoc}*/ 只將超類的javaDoc設置為當前方法。 但是當我嘗試添加一些單詞時,超級方法的JavaDoc就不見了/***{@inheritDoc}*These…


java - 為什麼this()和super()必須是構造函數中的第一條語句?

Java要求如果在構造函數中調用this()或super(),它必須是第一條語句。 為什麼? 例如: public class MyClass{public MyClass(int x){}}public class MySubClass extends MyClass{public MySubClass(int a, int b){int…


在Python 3.x中繼承python的對像是必要的還是有用的?

在較舊的python版本中,當你在python中創建一個類時,它可以從對象繼承,這是我所理解的一個特殊的內置python元素,它允許你的對象成為一個新式的對象。 那麼新版本(> 3.0和2.6)呢? 我搜索了關於類對象但我得到了很多結果(顯而易見的原因)。 任何提示? 謝謝!…




constructor class super javascript java function extends object this prototype