Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.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/2/jquery/72.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_Jquery - Fatal编程技术网

Javascript 设置变量作为函数调用

Javascript 设置变量作为函数调用,javascript,jquery,Javascript,Jquery,我想将变量设置为.prev()或.next(),例如: if(x == y) var shift = '.prev()'; else var shift = '.next()'; $("li.active").removeClass('active')shift.addClass('active'); 我可能可以让它与eval()一起工作,但这是一种安全隐患 我是否遗漏了一些明显的内容?可以使用访问对象的每个属性。 foo.bar() shift

我想将变量设置为
.prev()
.next()
,例如:

   if(x == y)
       var shift = '.prev()';
   else
       var shift = '.next()';

   $("li.active").removeClass('active')shift.addClass('active');
我可能可以让它与
eval()
一起工作,但这是一种安全隐患


我是否遗漏了一些明显的内容?

可以使用访问对象的每个属性。
foo.bar()


shift
声明超出范围,否?@Madbreaks:否。JavaScript仅具有函数范围。有趣。好的,但是var shift=x==y怎么样?上一个:下一个:)@Madbreaks:是的,我只是建议;)
if(x == y)
   var shift = 'prev';
else
   var shift = 'next';

// or a shorter and nicer way: 
// var shift = x == y ? 'prev' : 'next';

$("li.active").removeClass('active')[shift]().addClass('active');