Javascript 函数中的这一行是做什么的?

Javascript 函数中的这一行是做什么的?,javascript,hex,rgb,Javascript,Hex,Rgb,好的,我有这个函数,我只想分解它到底返回了什么 function componentToHex(c) { var hex = c.toString(16); return hex.length == 1 ? "0" + hex : hex; } 让我们假设:c=76 因此: c.toString(16) = 4c 那么下一个位在做什么呢?它返回a的结果,a检查字符串hex的长度,并返回0加上字符串hex或字符串hex 在长版本中,它是这样的: if (hex.length =

好的,我有这个函数,我只想分解它到底返回了什么

function componentToHex(c) {
    var hex = c.toString(16);
    return hex.length == 1 ? "0" + hex : hex;
}
让我们假设:
c=76

因此:

c.toString(16) = 4c

那么下一个位在做什么呢?

它返回a的结果,a检查字符串
hex
的长度,并返回
0
加上字符串
hex
或字符串
hex

在长版本中,它是这样的:

if (hex.length == 1) {
    return "0" + hex;
} else {
    return hex;
}

它返回a的结果,该结果检查字符串
hex
的长度,并返回
0
加上字符串
hex
或字符串
hex

在长版本中,它是这样的:

if (hex.length == 1) {
    return "0" + hex;
} else {
    return hex;
}

它很可能用于颜色代码上下文,并将颜色组件(红色、绿色或蓝色)转换为其十六进制表示形式。然后,如果结果是一位数字,则在所有组件都转换为六个字符的十六进制颜色代码时,它会预先加上一个零,以便最终获得。

最有可能的情况是在颜色代码上下文中使用,并将颜色组件(红色、绿色或蓝色)转换为其十六进制表示形式。然后,如果结果是一位数字,则在所有组件都转换为六个字符的十六进制颜色代码后,它会在前面加上一个零,以便最终得到该代码。

尝试将小于16的值传递给函数,然后看看会发生什么。您还应该了解这是否是您的问题。尝试将小于16的值传递给函数,看看会发生什么。如果这是你的问题,你也应该阅读。