Javascript 变量在赋予函数后未定义

Javascript 变量在赋予函数后未定义,javascript,Javascript,我有一个将十六进制转换为字符串的函数。 控制台然后说:“第148行未定义十六进制”,即: “hex=hex.toString()。为什么会这样 function hexToStr(hex) { hex = hex.toString(); var str = ''; for (var n = 0; n < hex.length; n += 2) { str += String.fromCharCode(parseInt(hex.substr(n, 2)

我有一个将十六进制转换为字符串的函数。 控制台然后说:“第148行未定义十六进制”,即: “hex=hex.toString()。为什么会这样

function hexToStr(hex) {
    hex = hex.toString();
    var str = '';
    for (var n = 0; n < hex.length; n += 2) {
        str += String.fromCharCode(parseInt(hex.substr(n, 2), 16));
    }
    return str;
}
函数hexToStr(hex){ hex=hex.toString(); var-str=''; 对于(变量n=0;n您的函数似乎工作正常。为了安全起见,可以添加一个检查以确保输入是字符串

函数hexToStr(hex){ if(typeof(hex)!=“string”)抛出(“输入字符串”) var-str=''; 对于(变量n=0;n

转换
输出:


如何调用
hexToStr()
?如果您首先将未定义的值传递到函数中(或不带参数调用函数,如
hexToStr()
),则会出现此错误消息。请确保调用此函数的任何对象都传递了您期望的值。