Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/29.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
如何在没有eval()的情况下执行此javascript代码?_Javascript_Eval - Fatal编程技术网

如何在没有eval()的情况下执行此javascript代码?

如何在没有eval()的情况下执行此javascript代码?,javascript,eval,Javascript,Eval,在这种情况下eval()危险吗?或者有更好的方法吗?为什么不使用函数呢 function run(conditions) { /* --- code --- */ var pages_counter = parseInt(localStorage.getItem('onload_counter')); var seconds_counter = parseInt(JSON.parse(localStorage.getItem("waiting_for_modal"))[0])+1; /* ---

在这种情况下eval()危险吗?或者有更好的方法吗?

为什么不使用函数呢

function run(conditions) {
/* --- code --- */
var pages_counter = parseInt(localStorage.getItem('onload_counter'));
var seconds_counter = parseInt(JSON.parse(localStorage.getItem("waiting_for_modal"))[0])+1;
/* --- code --- */
var vared = eval(conditions.test.join(' ')) ? true:false;
if(vared){
jQuery('#myid').fadeOut(500);
}
}

var conditions = {
/* --- code --- */
"test": ["( pages_counter > 1 && seconds_counter > 10 )||( seconds_counter > 40 && pages_counter === 1 )"]
};
run(conditions);

您可以传递数字,例如,
1
10
40
1
,而不是同时传递变量names@Nina_Scholz,ReferenceError:onload_计数器未定义,请查看定义或使用
onload_计数器的位置。如果没有更多关于代码其余部分的知识,我将无能为力。
var conditions = {          
    test: function (pages_counter, seconds_counter) {
        return (pages_counter > 1 && seconds_counter > 10) || (seconds_counter > 40 && pages_counter === 1);
    }
};

// test with
var vared = conditions.test(pages_counter, seconds_counter);