如何在不使用 eval() 的情况下编写 javascript 十六进制初始化程序?
How to write a javascript hex initializer without using eval()?
如果不使用 eval(),我不知道如何在 javascript 中执行以下操作,这对我来说有点过分了。
let sId = "12345678";
let buffer = new Uint8Array(4);
buffer[0] = eval('0x' + sId.substring(6, 8) + ";");
buffer[1] = eval('0x' + sId.substring(4, 6) + ";");
buffer[2] = eval('0x' + sId.substring(2, 4) + ";");
buffer[3] = eval('0x' + sId.substring(0, 2) + ";");
使用 Number 构造函数而不是 eval。
无论您使用 eval、Number() 还是文字,这些值都是相同的:
const sId = "12345678";
const testA = 0x78;
const testB = Number('0x' + sId.substring(6, 8));
const testC = eval('0x' + sId.substring(6, 8) + ";");
console.log(testA, testB, testC);
let sId = "12345678";
let buffer = new Uint8Array(4);
buffer[0] = Number('0x' + sId.substring(6, 8));
buffer[1] = Number('0x' + sId.substring(4, 6));
buffer[2] = Number('0x' + sId.substring(2, 4));
buffer[3] = Number('0x' + sId.substring(0, 2));
console.log(buffer);
如果不使用 eval(),我不知道如何在 javascript 中执行以下操作,这对我来说有点过分了。
let sId = "12345678";
let buffer = new Uint8Array(4);
buffer[0] = eval('0x' + sId.substring(6, 8) + ";");
buffer[1] = eval('0x' + sId.substring(4, 6) + ";");
buffer[2] = eval('0x' + sId.substring(2, 4) + ";");
buffer[3] = eval('0x' + sId.substring(0, 2) + ";");
使用 Number 构造函数而不是 eval。
无论您使用 eval、Number() 还是文字,这些值都是相同的:
const sId = "12345678";
const testA = 0x78;
const testB = Number('0x' + sId.substring(6, 8));
const testC = eval('0x' + sId.substring(6, 8) + ";");
console.log(testA, testB, testC);
let sId = "12345678";
let buffer = new Uint8Array(4);
buffer[0] = Number('0x' + sId.substring(6, 8));
buffer[1] = Number('0x' + sId.substring(4, 6));
buffer[2] = Number('0x' + sId.substring(2, 4));
buffer[3] = Number('0x' + sId.substring(0, 2));
console.log(buffer);