Я очень новичок в JS, я работал с ним просто для удовольствия и потому, что у меня есть свободное время. Я написал код ниже сразу после чтения руководств в Интернете в течение нескольких минут, поэтому, пожалуйста, не обвиняйте меня.Любая конкретная причина, по которой этот переключатель возвращает неопределенный?
var doctype = document.type;
var n = doctype.indexOf("}") + 1;
var doctype2 = doctype.substring(n);
switch (doctype2) {
case "doc_func_adm":
var newtype = "documento-admissao-funcionario";
switch (document.properties["ext1:tipo_doc_func_adm"]) {
case "Contrato Experiência":
var newtype2 = "contrato-experiencia";
break;
case "Prorrogação de Contrato":
var newtype2 = "prorrogacao-contrato";
break;
case "Contrato: Prazo Indeterminado":
var newtype2 = "contrato-prazo-indeterminado";
break;
case "Termo Bolsa Família":
var newtype2 = "termo-bolsa-familia";
break;
case "Vale Transporte":
var newtype2 = "vale-transporte";
break;
case "Ficha Registro":
var newtype2 = "ficha-registro";
break;
}
break;
}
print(newtype + "-" + newtype2);
print(doctype2); //check string result being tested
Результаты консоли:
undefined-undefined
doc_func_adm
Пожалуйста, обратите внимание, что 'doctype2' имеет ту же строку, что и испытания выключателя. Как вы можете видеть, он возвращает только неопределенные значения, и я считаю, что мне не хватает чего-то очень простого, что я не вижу.
Спасибо за помощь. Приветствия.
Можете ли вы console.log (doctype); ? также n и doctype 2 – FLX
Используйте отладчик и просто выполните его ... –
'newtype' и' newtype2' объявлены внутри области действия оператора switch и не существуют вне этой области. –