Как использовать одну функцию для вызова другой функции с помощью оператора if/case?

Кто-нибудь знает, что я сделал опечатку, потому что мой редактор, и я не могу заставить его работать

number=5;
switch (number) {
    case 5:
        box.onclick = function1;
        break;
    case 50:
        box.onclick = function2;
        break;
}

Я также попытался сделать это в выключателе.

4 ответа

Решение

С этим кодом:

number=5;
switch (number) {
    case 5:
        box.onclick = function1;
        break;
    case 50:
        box.onclick = function2;
        break;
}

случай 50 никогда не сработает, потому что вы установили номер 5 перед входом в блок переключателей. Поэтому окно onclick никогда не будет равно function2. Следовательно, когда вы щелкаете по полю, функция2 не запускается. Это действительно точное представление о вашем реальном коде, или это упрощение, которое упустило важную информацию?

Попробуйте не использовать зарезервированное слово var в качестве имени переменной:

var x=5;
    if (x==5){
        box.onclick = function1;
    }
    if(x==50){
        box.onclick = function2;
    }

var зарезервированное слово для создания переменных. Вы не можете использовать это как имя. Это правильный синтаксис:

var x = 5;

if (x == 5) {
    box.onclick = function1;
}

if (x == 50) {
    box.onclick = function2;
}

Вы не можете использовать зарезервированные слова JavaScript для объявления переменных.

Попробуй заменить var=5 в myVar=5 например.

var myVar = 5;

if (myVar ==5){
    box.onclick = function1;
}
if(myVar ==50){
    box.onclick = function2;
}

Кроме того, проверьте эту ссылку: JavaScript Reserved Words

Другие вопросы по тегам