Я хочу передать либо или, либо или неравную функцию как параметр для другой функции.Javascript, как передать логическую функцию по имени
Есть ли способ для того чтобы достигнуть что-то подобного следующим образом без использования сравнения строк используя вместо вызова функции:
function(x, y, z){
if(z == "and"){
return x && y;
}
if(z == "or"){
return x || y;
}
}
Что я хочу:
function(x, y, func){
func(x,y); //func can be passed as either and or or or other logical op.
}
Есть ли обобщающий для & & или || функционировать? Что-то похожее на operator.and или operator.or?
Функции гражданами первого сорта, так что вы можете передать их в качестве аргументов. Ваш второй код работает. – Oriol
Правильно, но есть ли стенограмма для && или || функционировать? Что-то похожее на operator.and или operator.or? – as3rdaccount
Я не поклонник 'eval', но как насчет' eval'ing поведения функции? может ли это быть хорошим примером для использования 'eval'? –