Für den Anfang: Das ist nicht, wie Sie eine Variable in Javascript erklären sollte:
attackValue = $(this).text();
Dies würde 'Programme' variable Raum Krempel. Sie sollten immer eine Variable in JavaScript mit dem Schlüsselwort var
deklarieren.
Wenn ich attackValue außerhalb des Klicks() verwenden möchte, wird es nicht definiert.
Es hängt davon ab, wo und wann Sie es verwenden möchten. Betrachten Sie die following code:
var attackValue = 'some value';
function setValue() {
attackvalue = 'some other value';
}
console.log(attackvalue); // this would output some value, because the function hasn;t run yet
setValue();
Allerdings, wenn Sie would do:
var attackValue = 'some value';
function setValue() {
attackValue = 'some other value';
}
setValue();
console.log(attackValue); // this would output some other value, because the function did already run
Beachten Sie, dass der obige Code in einem closure ausgeführt werden soll. Oder es würde immer noch den Variablenraum durcheinander bringen (selbst wenn das Schlüsselwort var
verwendet wird). So würde es aussehen wie:
(function() { // yay closure, now all variables defined in here will stay in here
var attackValue = 'some value';
function setValue() {
attackValue = 'some other value';
}
setValue();
console.log(attackValue); // this would output some other value, because the function did already run
})();
Wenn OP den 'attackValue' ohne das Schlüsselwort' var' deklariert. Es ist global und sollte außerhalb der Funktion zugänglich sein. Obwohl es unmöglich ist, das Code-Snippet zu verwenden. – PeeHaa