好的,所以我有这个功能,我只是想分解它返回的是什么。函数中的这条线是做什么的?
function componentToHex(c) {
var hex = c.toString(16);
return hex.length == 1 ? "0" + hex : hex;
}
假设:c = 76
而且因此:
c.toString(16) = 4c
那么,什么是下一位做什么?
好的,所以我有这个功能,我只是想分解它返回的是什么。函数中的这条线是做什么的?
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
的长度,并返回任一0
以及字符串hex
或字符串hex
的结果。
在一个长长的版本,它是这样的:
if (hex.length == 1) {
return "0" + hex;
} else {
return hex;
}
最有可能是在颜色代码上下文中使用的和转换的颜色分量(红色,绿色或蓝色),以它的十六进制表示。然后,如果结果是一个数字,它将前缀为零,以便最终获得,当所有组件都被转换为六个字符的十六进制颜色代码时。
尝试将小于16的值传递给函数,看看会发生什么。如果这是您的问题,您还应该阅读[三元运算符](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator)。 –