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

for语句不用看,我现在想做的是,最下面的路径设置,是我整个js文件要调用的,因为有文件流写入什么的所以不能放到function里面,但是varpath=trace_path+separator+trace_name+separ...

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);

/*function f2(){

var STARTlineNum = startLineNum;

};

return f2;

*/

/* return startLineNum;

} */

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";

前者太繁琐 后者是我简化的

有没有人会啊

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值