waarschuw een variabele waarde

Hoe toon ik de waarde van een variabele in javascript in een waarschuwingsvenster?

Ik heb bijvoorbeeld een variabele x=100 en alert(x) werkt niet.

het script dat wordt gebruikt in vet aap is hier

var inputs = document.getElementsByTagName('input');
var new;
for (i=0; i<inputs.length; i++) {
  if (inputs[i].getAttribute("name") == "ans") {   
new=inputs[i].getAttribute("value"));
alert(new)
  }
}

Antwoord 1, autoriteit 100%

Een paar dingen:

  1. Je kunt newniet gebruiken als variabelenaam, het is een gereserveerd woord.
  2. Op input-elementen kunt u de eigenschap valuerechtstreeks gebruiken, u hoeft niet door getAttributete gaan. Het attribuut wordt “gereflecteerd” als een eigenschap.
  3. Hetzelfde voor name.

Dus:

var inputs, input, newValue, i;
inputs = document.getElementsByTagName('input');
for (i=0; i<inputs.length; i++) {
    input = inputs[i];
    if (input.name == "ans") {   
        newValue = input.value;
        alert(newValue);
    }
}

Antwoord 2, autoriteit 96%

Opmerking, hoewel de bovenstaande antwoorden correct zijn, kunt u, als u wilt, zoiets doen als:

alert("The variable named x1 has value:  " + x1);

Antwoord 3, autoriteit 21%

toon waarschuwingsvenster met gebruiksvariabele met bericht

<script>
$(document).ready(function() {
var total = 30 ;
alert("your total is :"+ total +"rs");
});
</script>

Antwoord 4, autoriteit 16%

Als je Greetmonkey gebruikt, is het mogelijk dat de pagina nog niet klaar is voor het javascript. Mogelijk moet u window.onReady gebruiken.

var inputs;
function doThisWhenReady() {
    inputs = document.getElementsByTagName('input');
    //Other code here...
}
window.onReady = doThisWhenReady;

Antwoord 5, autoriteit 11%

var input_val=document.getElementById('my_variable');for (i=0; i<input_val.length; i++) {
xx = input_val[i];``
if (xx.name == "ans") {   
    new = xx.value;
    alert(new);    }}

Antwoord 6, autoriteit 11%

Als ik je vraag en code goed begrijp, wil ik eerst drie dingen noemen voordat ik mijn code/versie van een oplossing deel. Ten eerste, voor zowel nameals valuezou je waarschijnlijk niet de getAttribute()methode moeten gebruiken omdat ze zelf eigenschappen zijn van (de variabele genaamd) inputs(bij een gegeven index van i). Ten tweede is de variabele die u probeert te waarschuwen een van een select aantal termen in JavaScript die worden aangeduid als ‘gereserveerde trefwoorden’ of gewoon ‘gereserveerde woorden’. Zoals je in/op deze lijst (op de link) kunt zien, is newduidelijk een gereserveerd woord in JS en mag het nooit als variabelenaam worden gebruikt. Voor meer informatie, google gewoon ‘gereserveerde woorden in JavaScript’. Ten derde en tot slot, in uw waarschuwingsverklaring zelf, heeft u verzuimd een puntkomma op te nemen. Dat en dat alleen kan soms voldoende zijn om uw code niet te laten werken zoals verwacht. [Terzijde: ik zeg dit niet als advies, maar meer als observatie: JavaScript zal bijna altijd vergeven en toestaan dat er te veel en/of onnodige puntkomma’s zijn, maar over het algemeen is JavaScript ook even zo niet genadeloos als/wanneer het ontbreekt (een van de ) nodig, vereiste puntkomma’s. Daarom is de beste praktijk natuurlijk om de puntkomma’s alleen op alle vereiste punten toe te voegen en ze in alle andere omstandigheden uit te sluiten. Maar praktisch gesproken, bij twijfel, zal het waarschijnlijk geen kwaad doen door een extra toe te voegen/op te nemen, maar zal het pijn doen door een verplichte te negeren. Algemene regels zijn dat alle declaraties en toewijzingen eindigen met een puntkomma (zoals variabele toewijzingen, waarschuwingen, console.log-instructies, enz.), maar de meeste/alle expressies niet (zoals for-lussen, while-lussen, functie-expressies Just Saying.] Maar Ik dwaal af..

   function whenWindowIsReady() {
        var inputs = document.getElementsByTagName('input');
        var lengthOfInputs = inputs.length; // this is for optimization
        for (var i = 0; i < lengthOfInputs; i++) {
            if (inputs[i].name === "ans") {   
                var ansIsName = inputs[i].value;
                alert(ansIsName);
            }
        }
    }
    window.onReady = whenWindowIsReady();

PS: u gebruikte een exploitant voor dubbele toewijzing in uw voorwaardelijke verklaring, en in dit geval maakt het niet uit, omdat u snaren vergelijkt, maar in het algemeen geloof ik dat de drievoudige toewijzingsoperator de manier is om te gaan en is nauwkeuriger Zou controleren of de waarden gelijkwaardig zijn zonder type conversie, die erg belangrijk kan zijn voor andere gevallen van vergelijkingen, dus het is belangrijk om erop te wijzen. Bijvoorbeeld 1 == “1” en 0 == FALSE zijn beide true (wanneer u meestal wilt dat zij die false retourneren, omdat de waarde aan de linkerkant niet hetzelfde was als de waarde aan de rechterkant, zonder conversie), maar 1 === “1” en 0 === FALSE zijn zowel onjuist als u zou verwachten, omdat de drievoudige operator niet afhankelijk is van de conversie van het type bij het maken van vergelijkingen. Houd dat in gedachten voor de toekomst.


Antwoord 7, Autoriteit 11%

Zie met de hulp van het volgende voorbeeld als u literals en ‘$’ in uw geval kunt gebruiken.

   function doHomework(subject) {
      alert(\`Starting my ${subject} homework.\`);
    }
doHomework('maths');

Other episodes