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

What does this line in the function do?

好的,所以我有了这个功能,我只是想分解一下它到底返回了什么。

function componentToHex(c) {
    var hex = c.toString(16);
    return hex.length == 1 ? "0" + hex : hex;
}

让我们假设:c = 76

因此:

c.toString(16) = 4c

那么下一位在做什么?

它返回 Conditional (Ternary) Operator 的结果,它检查字符串 hex 和 returns 的长度 0 加上字符串 hex或字符串 hex.

长版是这样的:

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

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