難道是多個語義將它們存儲作爲數組:語義存儲RGB顏色值
var niceBlue = [27, 125, 161];
或對象:
var coolGreen = {red: 74, green: 173, blue: 90};
或作爲與速記屬性名稱的對象:(然後,對大寫字母還是不會更好?)
var deepPurple = {r: 86, g: 45, b: 92};
難道是多個語義將它們存儲作爲數組:語義存儲RGB顏色值
var niceBlue = [27, 125, 161];
或對象:
var coolGreen = {red: 74, green: 173, blue: 90};
或作爲與速記屬性名稱的對象:(然後,對大寫字母還是不會更好?)
var deepPurple = {r: 86, g: 45, b: 92};
回覆:使用Color類是矯枉過正...這是代碼只有幾行,但它給你一個更靈活的解決方案
function Color(red,green,blue)
{
this.red = red;
this.green = green;
this.blue = blue;
}
var red = new Color(255,0,0)
var green = new Color(0,255,0)
var blue = new Color(0,0,255);
將來,如果您決定添加一個alpha屬性,沒有問題。
function Color(red,green,blue,alpha)
{
this.red = red;
this.green = green;
this.blue = blue;
this.alpha = (alpha!=undefined)? alpha: 100;
}
var red = new Color(255,0,0)
var green = new Color(0,255,0)
var blue = new Color(0,0,255);
var alpha = new Color(255,0,0,50)
所有原始對象仍然可以正常工作。您可以輕鬆添加toNumber()或toString()方法以進行調試。這對我來說似乎沒有多大用處。我總是建議不要使用匿名JSON包裝作爲數據傳輸對象。他們很快回來咬你。 :)
底線 - 如果您不費吹灰之力思考語義和可讀性,那麼您的代碼聽起來像是準備好了一些「類」。
這取決於你對他們做什麼?例如,如果你只打算在沒有修改的情況下使用它們,你也可以將它們存儲爲十六進制字符串。 – Aaron
「更多語義」是什麼意思?對另一個用戶更易讀?如果你想清楚你在做什麼,另一種選擇可能是使用.get,.green,.blue屬性,使用.getHex()或getRGB()方法創建一個Color類...取決於你有多少將在您的代碼中處理。 – Toby
我想將它們存儲爲RGB,因爲它們將被JS操縱,我只是想設置一個標準來跟隨它們。 – darklinen