簡體   English   中英

有沒有辦法在 Javascript 對象中獲取函數或屬性

[英]Is there a way to get function or or property in Javascript object

例如,有一個對象顏色。

colors = {
  white: '#fff',
  whiteF: (opacity=1) => `rgba(255,255,255,${opacity})`    
}

有沒有更好的方法來像這樣連接它們:如果我調用colors.white它將調用十六進制,如果我調用colors.white(.3)它將得到 rgba 一個。

在函數內部設置條件應該可以解決問題(使用默認值)

const colors = {
  white: (opacity=1) => {
    if(opacity === 1){
      return '#fff'
    }else{
      return`rgba(255,255,255,${opacity})`
    }
  }
}

> colors.white()
'#fff'
> colors.white(.3)
'rgba(255,255,255,0.3)'

您可以使用函數作為用戶屬性或基於傳遞給它的參數的方法的委托人,如下所示:

colors = {
  white: '#fff',
  whiteF: (opacity=1) => `rgba(255,255,255,${opacity})` ,
   getColor:function(opacity){
     if(opacity)
     return this.whiteF(opacity);
     else {
         return this.white;
     }

  }
}
 console.log(colors.getColor());
 console.log(colors.getColor(0.3));

有了這個,您的方法調用將返回屬性或函數調用。

暫無
暫無

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

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