Javascript Html十六进制函数参数意外转换为十进制。
我从一个HTMLOnClick侦听器调用这个函数,参数是表示地址的十六进制数,但输出是以十进制形式表示的同一个数。我试着转换回来,但它使十六进制数变圆。为什么函数调用首先要转换十六进制数Javascript Html十六进制函数参数意外转换为十进制。,javascript,html,onclick,hex,Javascript,Html,Onclick,Hex,我从一个HTMLOnClick侦听器调用这个函数,参数是表示地址的十六进制数,但输出是以十进制形式表示的同一个数。我试着转换回来,但它使十六进制数变圆。为什么函数调用首先要转换十六进制数 flexcard += '<button class="mod marg" onclick="App.fundProject('+thisProjectAddress+')">Fund project</button>'; flexcard+=“基金项目”; 如果在代码中定义了此项目地
flexcard += '<button class="mod marg" onclick="App.fundProject('+thisProjectAddress+')">Fund project</button>';
flexcard+=“基金项目”;
如果在代码中定义了此项目地址
,而不使用引号,则会将其解释为十六进制数而不是字符串,因此通常会将其表示为十进制对应项。例如:
console.log(0x100)/=>256
console.log(“0x100”)/=>0x100
App.fundProject函数的十六进制数和文本是什么?代码段中根本没有数字。但总的来说,JS只知道数字,并不关心你用什么格式来“描述”数字。如果需要保持字符序列不变,则应使用字符串。如果要将字符串的内容转换为正确的文字表示形式,则应使用JSON.stringify()
,而不仅仅是将其括在一些引号中。在这种特殊情况下,“0x100”
结果没有差别,但这种做法最终(通过一些看似无关的更新)会由于未正确转义字符而在应用程序中引入错误。只是说说而已;我必须用艰苦的方式来学习。