我在这里找到了一些旧代码来生成调色板。这包括以下功能:
function byte2Hex(n)
{
var nybHexString = "0123456789ABCDEF";
return String(nybHexString.substr((n >> 4) & 0x0F,1)) + nybHexString.substr(n & 0x0F,1);
}
Run Code Online (Sandbox Code Playgroud)
我认为这是一个简单的方法,因为我只需要用子字符串替换 substr,但它不起作用。
和String.substr()都String.substring()接受两个参数,虽然第一个参数具有相同的语义(要提取的第一个字符的索引),但第二个参数具有不同的含义。
因为substr()它代表要提取的字符数,但因为substring()它代表要提取的子字符串之后的第一个字符的索引。基本上,s.substr(a, b)与 相同s.substring(a, a+b)。
你的代码变成:
function byte2Hex(n)
{
const nybHexString = "0123456789ABCDEF";
const s1 = (n >> 4) & 0x0F;
const s2 = n & 0x0F;
return nybHexString.substring(s1, s1 + 1) + nybHexString.substring(s2, s2 + 1);
}
Run Code Online (Sandbox Code Playgroud)
String.substr()阅读和的文档String.substring()。
| 归档时间: |
|
| 查看次数: |
763 次 |
| 最近记录: |