#javascript #function #variables #arguments
#javascript #функция #переменные #аргументы
Вопрос:
Я искал специальный аргумент и / или переменную, которая может это сделать, т.Е.:
function myFunction(arg1, arg2) {
switch(arg2) {
case FIRSTCHOICE:
// Code
break;
case SECONDCHOICE:
// Code
break;
}
}
и использовать ее как:
myFunction('String', FIRSTCHOICE);
Так, например, я бы создал разные типы оповещений, которые выводят сообщение в разных стилях:
function myAlert(msg, type) {
switch(type) {
case STYLE_ONE:
alert("STYLE ONE: " msg);
break;
case STYLE_TWO:
alert("STYLE TWO: *** " msg " ***");
}
}
и используйте ее следующим образом:
myAlert("Hello World", STYLE_ONE);
или
myAlert("Hello World, again", STYLE_TWO);
Я знаю, что вы не можете создать переключатели, которые делают это, и я искал это в Интернете, но не получил ответа о том, как называется этот тип и возможно ли это. Может быть, есть обходной путь?
Помощь очень ценится.
С наилучшими пожеланиями, Кристиан
Комментарии:
1. Ну, вы всегда можете создать глобальную переменную var MYCONSTANT = 1; var MYCONSTANT2 = 2; а затем ссылаться на них в аргументах switch и input
2. Или еще лучше … var SOME_CONSTANT_TYPE = { style_one:1, style_two:2, style_three:3 }; затем вызовите myFunction(‘строка’,SOME_CONSTANT_TYPE.style_one)
Ответ №1:
Я не понимаю, в чем здесь ваша конкретная проблема. Они выглядят как обычные const, которые можно легко создать как глобальные переменные в javascript.
var STYLE_ONE = 1;
var STYLE_TWO = 2;
function myAlert(msg, type) {
switch(type) {
case STYLE_ONE:
alert("STYLE ONE: " msg);
break;
case STYLE_TWO:
alert("STYLE TWO: *** " msg " ***");
}
}
myAlert("test", STYLE_TWO);
Ответ №2:
ПОПРОБУЙТЕ это:
function myAlert(msg, type) {
switch(type) {
case 'STYLE_ONE':
alert("STYLE ONE: " msg);
break;
case 'STYLE_TWO':
alert("STYLE TWO: *** " msg " ***");
}
}
myAlert("Hello World", 'STYLE_TWO');
Ответ №3:
то, что вы хотите, является эквивалентом javascript для enum
.
По сути, перечисление — это целое число с именем.
в javascript это можно было бы сделать следующим образом:
var enumObj = new Object();
enumObj.type = {help:1, about:2, quit:3}
document.write(enumObj.type.about);
// outputs : 2
Ответ №4:
var SOME_CONSTANT_TYPE = { style_one:1, style_two:2, style_three:3 };
затем вызовите
myFunction('string',SOME_CONSTANT_TYPE.style_one)