2017-05-19 4 views
0

Ich sah einer der Meister dies zu tun:nur mit ‚‘ markiert

var example = ''; 

Dann später er damit fortfuhr:

example += '<div>just a div</div>'; 

Ich möchte wissen, ob es einen Unterschied zu tun, dies:

var example; 

example += '<div>just a div</div>'; 

ich weiß nicht wirklich, wenn durch die zweite Methode zu tun ich falsch mache und ich muss Code lik e gezeigt, wenn das erste Beispiel.


Aktualisiert!

Dank für Ihre Antworten danken, Ok habe ich es brauche ich meine Variable definieren zu können, lohnt es arbeiten, aber dann kam ... eine andere Frage Dieser Meister dies auch tut:

var guess; 

und dann tut er:

guess += myfunction(upper); 

wo myfunction erklärt sich wie folgt: so

function myFunction(upper){ 
    return Math.floor(Math.random() * upper) + 1; 
} 

, Warum ist hier anders? Kann jemand von euch das bitte beantworten?

Vielen Dank!


Zweites Update!

Nochmals vielen Dank!

Ich entschied mich, den ganzen Code, den der JS-Master machte, zu posten, an dieser Stelle verstehe ich nicht, also werden Sie wahrscheinlich meine Zweifel beseitigen können.

var randomNumber = myFunction(10); 
var guess; 
var attempts = 0; 
var answer = false; 

function myFunction(upper){ 
    return Math.floor(Math.random() * upper) + 1; 
} 

do{ 
    guess = prompt("I created a number from 1 till 10, can you guess it?"); 
    attempts += 1; 
    if(parseInt(guess) === randomNumber){ 
     answer = true; 
    } 
}while(! answer) 
    document.write("Took you " + attempts + " attempts to guess the number " + randomNumber); 

Weitere Informationen finden sie unter:

var guess; 

und wie später erklärt wird, warum also hier funktioniert perfekt, aber in meinem ersten Beispiel muss ich setzen die ‚‘ als meine Variable deklarieren?

Ich hoffe meine Frage ist klar genug für Sie!

Vielen Dank für Ihre Zeit und Geduld!

+0

Es gibt keinen Unterschied zwischen Ihrem ersten Code-Beispiel und 'var example = '

just a div
';' Es gibt jedoch Gründe, die Dinge so zu machen. –

Antwort

2

Wenn Sie das tun:

var example; 

example += '<div>just a div</div>'; 

Sie am Ende mit:

`"undefined<div>just a div</div>"` 

Dies liegt daran, wenn Sie nicht über eine Variable initialisieren, es undefined ist, das zu einem vernünftigen umgewandelt werden kann Zeichenfolge "undefined", wenn Sie versuchen, es zu einer anderen Zeichenfolge hinzuzufügen.

Wenn Sie das tun:

var guess; 

guess += myfunction(upper); 

function myFunction(upper){ 
    return Math.floor(Math.random() * upper) + 1; 
} 

Sie fügen einen number-undefined. Dies führt zu NaN (keine Zahl), weil undefined nicht in einem vernünftigen number umgewandelt werden.

Sie können diese sich beim nächsten Mal überprüfen, indem Sie Ihre Browser-Entwickler-Tools öffnen und den Code in der Konsole ausgeführt wird.

Edit:

Wenn Sie das tun:

var guess; 

guess = prompt("I created a number from 1 till 10, can you guess it?"); 

Es gibt kein Problem, weil Sie einfach nur eine string zum guess Variablen zugewiesen wird. In den bisherigen Beispielen wurden das Hinzufügen Sie etwas auf eine Variable, was bedeutet, wenn sie unterschiedliche Typen sind, dann zu tun, etwas Vernünftiges JavaScript, um zu versuchen hat.

+0

Vielen Dank für Ihre Antwort, ich sah auch, dass er dies tat: var Beispiel; dann fuhr er fort mit: Beispiel + = 2; In diesem Fall, welcher ist der Unterschied dann? Vielen Dank! –

+0

ich meine Frage aktualisiert, wieder ... Wenn Sie mir eine Hand wieder geben kann, wird sehr geschätzt. Vielen Dank für Ihre Zeit! –

+0

Gern geschehen, ich habe meine Antwort aktualisiert. –

1

var myvar 
 
myvar += 'asdf' 
 
console.log(myvar) // prints undefinedasdf 
 

 
var othervar = '' 
 
othervar += 'sdfasdf' 
 
console.log(othervar) // prints sdfasdf

2

Wenn Sie einen Wert von undefinierten nicht Ihre Variable initialisiert hat.

In Ihrem letzten Beispiel, Sie sagen wirklich example = undefined + '<div>just a div</div>' und undefined wird in einen String und Ausgang auf diese Weise umgewandelt werden. Wahrscheinlich nicht was du willst.

Im Allgemeinen ist es eine gute Idee, um Ihre Variablen zu initialisieren, bevor Sie sie verwenden, weshalb var example = '' in diesem Fall vorzuziehen ist.

0

Wenn Sie nicht die Variable initialisieren, dann wird es undefined
zu undefinierten Objekt Anfügen sein hilft nicht.

var example = ''; 

Hier finden Sie eine leere Zeichenkette in die Variable initialisiert wird und daher eine Zeichenfolge in eine andere Zeichenfolge anhängt wird die gewünschte Ausgabe von String-Verkettung geben.

Ausgang:

"undefined<div>just a div</div>" 
"<div>just a div</div>" 
0

Ja ein Unterschied ist der erste snipet vom Master eine Variable Beispiel erstellt und gibt es einen Standardwert, die zweite Anweisung den Wert mit ‚nur einem div‘ concatinates .Ihre Code hat einen Fehler, da ein nicht existierender Wert einem Wert hinzugefügt wird, da die Variable kein Beispiel hat.

Verwandte Themen