永发信息网

本人新手,有关js,闭包,return,全局变量访问函数内部变量以及函数内的函数访问外部变量。大神帮帮忙!

答案:2  悬赏:40  手机版
解决时间 2021-02-27 15:48
  • 提问者网友:我没有何以琛的痴心不悔
  • 2021-02-27 05:21
for语句不用看,我现在想做的是,最下面的路径设置,是我整个js文件要调用的,因为有文件流写入什么的所以不能放到function里面,但是var path = trace_path + separator + trace_name + separator+"IQ"+startLineNum+"-"+endLineNum+".dat";里面的startLineNum是try{}里面的变量,我现在想做个闭包,调用function里面的那个startLineNum,我应该怎么写?代码里面的注释是我看着网上的试着写的。可是都不对,出来的文件名不随我的变量名变化。希望我说清楚了……
function loadSettingsFromFile( configFile )
{
try {
var props = new Properties();
var setting_fis = new FileInputStream( configFile );
props.load(setting_fis);
setting_fis.close();
setting_fis = null;

MessageAndValues_Init( false );

startLineNum = props.getProperty(KEY_START_INDEX,"1");
endLineNum = props.getProperty(KEY_END_INDEX,size+"");
filterType = props.getProperty(KEY_FILTER_TYPE,"M");
fileFormat = props.getProperty(KEY_FILE_FORMAT,"C");
ParamType = props.getProperty(KEY_PARAM_TYPE,"L");
Filename_Rules = props.getProperty(KEY_RULES_FILE,PathSession + "AutoExport.rules");

for (var i = 0; i < ParamMax; i++)
{
SearchMid[i] = new String(props.getProperty(KEY_MID+"_"+i,SearchMid[i]));
SearchMt[i] = new String(props.getProperty(KEY_MT+"_"+i,SearchMt[i]));
SearchField[i] = new String(props.getProperty(KEY_FIELD+"_"+i,SearchField[i]));
SearchMessage[i] = new String(props.getProperty(KEY_MESSAGE+"_"+i,SearchMessage[i]));
SearchValues[i] = new String(props.getProperty(KEY_VALUES+"_"+i,SearchValues[i]));
SearchScripts[i] = new String(props.getProperty(KEY_SCRIPTS+"_"+i,SearchScripts[i]));
}

if (props.getProperty(KEY_SINGLE_OUTPUT,"").equals ("YES"))
singleOuputFile = true;
else
singleOuputFile = false;

} catch (e) {
logException( e );

startLineNum = 0;
endLineNum = 0;
Filename_Rules = PathSession + "AutoExport.rules";
}

if (display != null)
{
startTraceIndexTF.setText( startLineNum );
endTraceIndexTF.setText( endLineNum );
filterTF.setText( Filename_Rules );

FullPayload_Update();
MessageAndValues_Update();
}
//var StartlineNum = function(){return startLineNum;}
//var EndlineNum = function(){return EndLineNum;}
// return (props);



var path = trace_path + separator + trace_name + separator+"IQ"+startLineNum+"-"+endLineNum+trace_name+CfgExtension;
var fileWriter = new FileWriter(path);
var path = trace_path + separator + trace_name + separator+"IQ"+startLineNum+"-"+endLineNum+trace_name+CfgExtension;
就是var path = trace_path + separator + trace_name + separator+"IQ"+startLineNum+"-"+endLineNum+".dat";
前者太繁琐 后者是我简化的

有没有人会啊
最佳答案
  • 五星知识达人网友:孤老序
  • 2021-02-27 06:45
如果这个你还需要答案的话,我可以帮你整下。。。因为我看日期应该很久之前的问题了
全部回答
  • 1楼网友:痴妹与他
  • 2021-02-27 06:57
本人新手, 再看看别人怎么说的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯