2016-02-15 30 views
0

好的,所以我有这个功能,我只是想分解它返回的是什么。函数中的这条线是做什么的?

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

假设:c = 76

而且因此:

c.toString(16) = 4c 

那么,什么是下一位做什么?

+0

尝试将小于16的值传递给函数,看看会发生什么。如果这是您的问题,您还应该阅读[三元运算符](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator)。 –

回答

2

它返回一个Conditional (Ternary) Operator,其检查字符串hex的长度,并返回任一0以及字符串hex或字符串hex的结果。

在一个长长的版本,它是这样的:

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

最有可能是在颜色代码上下文中使用的和转换的颜色分量(红色,绿色或蓝色),以它的十六进制表示。然后,如果结果是一个数字,它将前缀为零,以便最终获得,当所有组件都被转换为六个字符的十六进制颜色代码时。