在JavaScript中,我想將對象A標記爲特殊的,以便當A訪問B時,B可以檢查A是否被標記,以便B將A視爲與其他對象不同。 (認爲B是用於處理許多不同的對象串行化器,以及A具有以某種方式被序列化。)使用屬性或方法將某個類標記爲特殊類? (在JavaScript中)
現在,我既可以 1:在一組屬性,例如,A.special =真
2:定義一個方法,例如A.isSpecial(),如果該方法存在,則表明A是特殊的。
我知道這兩個都做同樣的事情。從設計角度來看,有沒有什麼不同,這使得一個更好?
如果您要做的只是查找屬性/方法的存在,請使用屬性。如果你想/需要做某些特定的事情來確定它(例如實際運行的代碼......也許計算對象的長度以確定它是否特殊),並檢查其結果,請使用方法。使用沒有目的和「空洞」的方法只是誤導。 – Ian 2013-04-04 14:32:40
取決於情況,但可能您可以直接測試A(A之所以如此特殊)之間的差異,而無需設置其他屬性。 – eminor 2013-04-04 15:03:16
如果你使用一個屬性,我會選擇一個更有意義的名稱,而不是稱它爲「特殊」。 – eminor 2013-04-04 15:13:14