Javascript 节点化,无法访问嵌套for循环中的变量
我对nodejs比较陌生,函数节点中的代码如下所示Javascript 节点化,无法访问嵌套for循环中的变量,javascript,node.js,ibm-cloud,node-red,Javascript,Node.js,Ibm Cloud,Node Red,我对nodejs比较陌生,函数节点中的代码如下所示 var temper=parseInt(msg.payload.temperature); temp=temper; var seconDigit=temp%10; temp=parseInt(temp/10); var first=temp%10; temp=temp/10; var count; //msg={"payload":{"one":first,"two":seconDigit}}; //return msg; if(msg.p
var temper=parseInt(msg.payload.temperature);
temp=temper;
var seconDigit=temp%10;
temp=parseInt(temp/10);
var first=temp%10;
temp=temp/10;
var count;
//msg={"payload":{"one":first,"two":seconDigit}};
//return msg;
if(msg.payload.screen=="on"){
var firstCol="*,*,#800000";
count=0;
for(var i=1;i<=2;i++){
for(var j=1;j<=6;j++){
if(count<first){
firstCol=firstCol+","+i.toString()+","+j.toString()+",#C0C0C0";
count++;
}
}
}
count=0;
for(var i=5;i<=6;i++){
for(var j=1;j<=6;j++){
if(count<seconDigit){
firstCol+=","+i.toString()+","+j.toString()+",#C0C0C0";
count++;
}
}
}
//msg={"payload":first};
//return msg;
msg={"payload":firstCol};
return msg;
}
else if(msg.payload.screen=="off"){
var firstCol="*,*,#008000";
count=0;
for(var i=1;i<=2;i++){
for(var j=1;j<=6;j++){
if(count<firstDigit){
firstCol+=","+i.toString()+","+j.toString()+",#C0C0C0";
count++;
}
}
}
count=0;
for(var i=5;i<=6;i++){
for(var j=1;j<=6;j++){
if(count<seconDigit){
firstCol=firstCol+","+i.toString()+","+j.toString()+",#C0C0C0";
count++;
}
}
}
msg={"payload":firstCol};
return msg;
}
else{
msg={"payload":"*,*,#000000"};
return msg;
}
var state=parseInt(msg.payload.temperature);
温度=回火;
var seconDigit=温度%10;
temp=parseInt(temp/10);
var first=温度%10;
温度=温度/10;
var计数;
//msg={“有效载荷”:{“一”:第一,“二”:第二};
//返回味精;
if(msg.payload.screen==“开”){
var firstCol=“*,*,#800000”;
计数=0;
对于(var i=1;i甚至几天前我也遇到了同样的问题。不要连接从中获取msg.payload.temperature的节点。只需使用global.set(“first”,msg.payload.temperature);
在该节点中,并使用
temp=global.get(“第一”);
因此,代码的顶部将是
temp=global.get("first");
var first=parseInt(temp/10);
var seconDigit=parseInt(temp%10);
就连我几天前也遇到了同样的问题。不要连接从中获取msg.payload.temperature的节点。只需使用global.set(“first”,msg.payload.temperature);
在该节点中,并使用
temp=global.get(“第一”);
因此,代码的顶部将是
temp=global.get("first");
var first=parseInt(temp/10);
var seconDigit=parseInt(temp%10);
通过global.set()首先将温度值存储到全局变量。因此,您可以从节点程序中的任何流访问它。或者,您可以使用flow.set()在同一流中访问它。通过global.set()您首先将温度值存储到全局变量。因此,您可以从节点程序中的任何流访问它。或者,您可以使用flow.set()在同一流中访问它。