Antwort
Wenn foo
bereits definiert ist und als wahr ausgewertet, es setzt foo = foo
, das heißt, es tut nichts.
Wenn foo
definiert, aber das Ergebnis falsch wäre es Popup was foo
ist (false
, null
, undefined
, leere Zeichenkette, 0, NaN), aber da alert
nichts zurückkehrt, wird foo
-undefined
eingestellt werden.
Wenn foo
noch nicht definiert ist, wird eine Ausnahme ausgelöst. (Edit: In Ihrem Beispiel wird foo
immer wegen der var foo
Deklaration definiert.)
foo
Wenn das Ergebnis falsch (beispielsweise falsch, null oder Null) ist, der Wert nach den ||
Bediener wird auch bewertet, und zeigt den Wert.
Die Methode alert
gibt keinen Wert zurück, daher wird foo
undefiniert, wenn sie auf false ausgewertet wird, andernfalls wird ihr eigener Wert zugewiesen.
var foo;
if (foo)
foo = foo;
else
foo = alert(foo); // probably undefined
@Hogan:> * Alarm (foo); ist ein L-Wert, kein R-Wert *. Was? –
@Crescent: Nevermind - C-Begriff, der hier nicht gilt. – Hogan
- 1. Unterschied zwischen Foo * foo; und Foo foo; in C++
- 2. Unterschied zwischen 'var foo = Funktion ...' und 'Funktion foo() ...'
- 3. Foo kann nicht auf Foo
- 4. "new Foo() {}" vs. "new Foo()" in Java
- 5. foo (bar) und foo (bar, baz)
- 6. isinstance (foo, types.GeneratorType) oder inspect.isgenerator (foo)?
- 7. Warum * foo ++ = * ++ foo kann undefiniert sein?
- 8. jQuery $ .each (arr, foo) im Vergleich zu $ (arr) .each (foo)
- 9. Unterschied zwischen "struct foo *" und "foo *" wo foo ist eine Struktur?
- 10. Ist "x = new (Foo)" dasselbe wie "x = new Foo" für ein beliebiges Foo?
- 11. Der Unterschied zwischen der Deklaration einer Variablen als "var $ foo" oder "$ foo" in PHP?
- 12. Quellcode lesen, aber ich stieß auf const {foo} = foo;
- 13. jquery ("foo bar") vs jquery ("foo"). Find ("bar")
- 14. Unterschied zwischen "if (foo) bar();" und "foo && bar();"
- 15. Wann würde os.environ ['foo'] nicht mit os.getenv ('foo') übereinstimmen?
- 16. Wann "importieren * als Foo" gegen "Import Foo" verwenden?
- 17. Erklärung über „local foo = foo“ Idiom in Lua
- 18. Verständnis nicht C++ Typenkonflikt: const Foo * Foo * const &
- 19. Was bedeutet foo [] in $ this-> foo [] in PHP
- 20. scala: 'def foo = {1}' vs 'def foo {1}'
- 21. Wie Zeiger werfen Foo Foo ** const ** in C++
- 22. typedef Foo <> Foo kompiliert, aber ist es gültig?
- 23. 'goto * foo' wo foo kein Zeiger ist. Was ist das?
- 24. PHP: Gibt es einen Unterschied zwischen {$ foo} und $ {foo}
- 25. Warum akzeptiert foo [F [_], A] (ff: F [A]) foo (1)?
- 26. $ _GET ohne foo
- 27. Ist Befehlsersetzung $ (foo) Bashism?
- 28. Was bedeutet foo?
- 29. Wofür steht FOO?
- 30. PostgreSQL Spalte 'foo' nicht
Ist es nicht zugewiesen? Es ist ein rvalue – Hogan
@Hogan: Ja, es ist zugewiesen. – Guffa
'alert (foo)' gibt undefined zurück. –