Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript字符串中的特殊字符_Javascript_String - Fatal编程技术网

javascript字符串中的特殊字符

javascript字符串中的特殊字符,javascript,string,Javascript,String,使用Firebug我有一个TypeError-slice不是一个函数。我想这是因为我试图在一个数字上使用slice,尽管我认为它应该是一个字符串 所讨论的字符串是“*****01814c6538032b****”,它通过ajax命令进入页面,但为了测试,现在我只声明它 hexString = "****01814c6538032b****" ……现在我终于要问你一个问题了!有没有办法将其显式声明为字符串?我可以使用toString来更改它,但我想知道是否可以首先将它指定为字符串,并确保它保持为

使用Firebug我有一个TypeError-slice不是一个函数。我想这是因为我试图在一个数字上使用slice,尽管我认为它应该是一个字符串

所讨论的字符串是
“*****01814c6538032b****”
,它通过ajax命令进入页面,但为了测试,现在我只声明它

hexString = "****01814c6538032b****"
……现在我终于要问你一个问题了!有没有办法将其显式声明为字符串?我可以使用toString来更改它,但我想知道是否可以首先将它指定为字符串,并确保它保持为字符串

**编辑** 这是所有的javascript代码,我的代码从hexString=开始

<script type="text/javascript">

<!--
// Parses the xmlResponse from status.xml and updates the status box
function updateStatus(xmlData) {
    var mainstat = document.getElementById('display').style.display;
    var loadstat = document.getElementById('loading').style.display;

    // Check if a timeout occurred
    if(!xmlData)
    {
        mainstat = 'none';
        loadstat = 'inline';    

        return;
    }

    // Make sure we're displaying the status display
    mainstat = 'inline';
    loadstat = 'none';

    // Loop over all the LEDs
    for(i = 0; i < 5; i++)
        document.getElementById('led' + i).style.color = (getXMLValue(xmlData, 'led' + i) == '1') ? '#ff8b00' : '#777';

    // Loop over all the buttons
    for(i = 0; i < 5; i++)
        document.getElementById('btn' + i).innerHTML = (getXMLValue(xmlData, 'btn' + i) == 'up') ? '&Lambda;' : 'V';

    // Update the POT value
    for(i = 0; i < 2; i++)
        document.getElementById('pot'+i).innerHTML = getXMLValue(xmlData, 'pot'+i);

    // Update for bargraph
    for(i = 1; i < 3; i++)
    {
        var wd=0;
        wd= (getXMLValue(xmlData, 'pot'+(i-1)))/5;
        document.getElementById('bar'+i).style.width=wd+"px";
    }


    // Update string value
    document.getElementById('test').innerHTML =
    getXMLValue(xmlData, 'test');




var hexString="****01814c6538032b****";

s1 = hexString.slice(0,4);
document.getElementById("slice1").innerHTML=s1;
s2 = hexString.slice(4,6);
document.getElementById("slice2").innerHTML=h2d(s2);
s3 = hexString.slice(6,10);
document.getElementById("slice3").innerHTML=h2d(s3);
s4 = hexString.slice(10,14);
document.getElementById("slice4").innerHTML=h2d(s4);
s5 = hexString.slice(14,18);
document.getElementById("slice5").innerHTML=h2d(s5);
s6 = hexString.slice(18,22);
document.getElementById("slice6").innerHTML=s6;

tempString = h2d(s2);
sensorNo = parseInt(tempString); 

tempString = h2d(s3);
humVal = parseInt(tempString);

  HumidityTemp=(125/65536)*humVal;
  HumidityTemp=HumidityTemp-6;

document.getElementById("slice3").innerHTML=HumidityTemp.toString();


tempString = h2d(s4);
tempVal = parseInt(tempString);  

  TemperatureTemp=(175.72/65536)*tempVal;
  TemperatureTemp=TemperatureTemp-46.85;

  document.getElementById("slice4").innerHTML=TemperatureTemp.toString();

tempString = h2d(s5) ;
voltVal = parseInt(tempString);

  VoltageTemp = 2095/voltVal;

  document.getElementById("slice5").innerHTML=VoltageTemp.toString();



}
setTimeout("newAJAXCommand('status.xml', updateStatus, true)",500);


function h2d(h) 
{
return parseInt(h,16);

}



</script>


只需向数字中添加空字符串,即可将数字转换为字符串,如下所示:

var str = 1+""; // === "1"

另外,可能是相关的。

任何超过XHR的内容都应该作为字符串输入,除非您明确地将其类型设置为其他类型,例如
arraybuffer
。我就是这样使用它的:var hextString=“*****01814c6538032b****”;s1=十六进制字符串.slice(0,4);document.getElementById(“切片1”).innerHTML=s1@西蒙:嗯,那很好用。一定是你在做别的事情。提供一个真正的代码片段会有帮助。如果我这样做呢--var hexString=new string()@Simon_答:那没什么区别,我认为真正的问题一定在其他地方,因为如果它真的是一个字符串的话,这应该可以正常工作。顺便说一句,您可以使用反勾号来格式化注释中的代码。