У меня есть функция, которая выглядит примерно так:JQuery/JavaScript - передача переменных функций
window.attack = function(enemyHealth){
attackChance = Math.floor(Math.random()*11);
console.log("enemyHealth: "+enemyHealth); //undefined...
if (attackChance < 5) { //hit
hitDamage = Math.floor(Math.random()*playerDamage+1);
enemyHealth = enemyHealth - hitDamage;
$('#enemyhealth').val(enemyHealth);
if (enemyHealth < 1) {
alert('You killed the '+currentEnemy);
removeOverlayNow();
}
} else if (attackChance >= 5) { //miss
hitDamage = Math.floor(Math.random()*maxDamage+1);
alert('You miss and get attacked for '+hitDamage);
health = health - hitDamage;
$(healthDisplay).val(health);
checkHealth();
}
}
И моя переменная бросают в через:
onclick="flee('+currentEnemyHealth+')"
Но когда я console.log
или alert()
все, что я получаю, это Undefined
...
Я пропустил трюк здесь? Я думал, что если я передам переменную в функцию (в этом случае enemyHealth
), я должен ее восстановить?
Спасибо.
p.s.
Просто думал, я бы утверждать, что даже если я прохожу номер карты кодировкой (например, 5) через функцию - она по-прежнему поступает в Undefined
где код для вызова window.attack? Из внешнего вида, который не передает значение – DanSingerman