Respuesta
Si foo
ya está definido y se evalúa como verdadera, se establece foo = foo
, es decir, que no hace nada.
Si se define foo
pero se evalúa como falsa, sería lo emergente se foo
(false
, null
, undefined
, cadena vacía, 0, NaN), pero desde alert
vuelve nada, foo
se establecerá en undefined
.
Si foo
aún no está definido, se lanzará una excepción. (Edit: En su ejemplo, foo
siempre se definirá debido a la declaración var foo
.)
Si foo
evalúa a falso (por ejemplo, falso, nulo o cero), también se evalúa el valor después del operador ||
, y muestra el valor.
El método alert
no devuelve ningún valor, por lo que foo
quedará indefinido si se evalúa como falso, de lo contrario se le asignará su propio valor.
var foo;
if (foo)
foo = foo;
else
foo = alert(foo); // probably undefined
@Hogan:> * alerta (foo); es un lvalue no un rvalue *. ¿Qué? –
@Crescent: nevermind: término C que no se aplica aquí. – Hogan
- 1. 'var foo = función ...' y 'la función foo() ...'
- 2. Foo f = Foo(); // no hay función de coincidencia para la llamada a 'Foo :: Foo (Foo)' ... ¿eh?
- 3. char * foo vs char * foo
- 4. ¿Qué significa esto? int foo = foo + 4;
- 5. Referencia estándar para int foo = foo
- 6. Foo no se puede convertir a Foo
- 7. jQuery $ each (arr, foo) contra $ (arr) .Cada (foo)
- 8. ¿La diferencia entre declarar una variable como "var $ foo" o "$ foo" en PHP?
- 9. Absoluto ("/ foo") y relativo ("../foo") nombres de archivo. ¿Cómo se llama la categoría "foo"?
- 10. Diferencia entre "struct foo *" y "foo *" donde foo es una estructura?
- 11. ¿Por qué Amazon S3 no sirve automáticamente /foo/index.html cuando solicito/foo o/foo /?
- 12. ¿Hay alguna diferencia entre [& foo] {...} captura y [foo] {...} captura si 'foo' es una variable de referencia?
- 13. Es Foo * f = new Foo buen código de C++
- 14. Diferencia entre clase foo y clase foo (objeto) en Python
- 15. R: apt-get install r-cran-foo vs. install.packages ("foo")
- 16. ¿De qué sirve decir "#define FOO FOO" en C?
- 17. Scala: 'foo def = {1}' vs 'foo def {1}'
- 18. polimorfismo C++ ((X *) y) -> foo() vs ((X) * y) .foo()
- 19. ¿Hay alguna diferencia entre "foo is None" y "foo == None"?
- 20. static_cast <int> (foo) vs. (int) foo
- 21. ¿Cuándo os.environ ['foo'] no coincide con os.getenv ('foo')?
- 22. ¿Qué es "x && foo()"?
- 23. ¿qué quiere decir FOO?
- 24. ¿Por qué no puedo decir imprimir $ somehash {$ var} {fh} "foo"?
- 25. ¿Qué significa __PACKAGE __-> {foo}?
- 26. ¿Por qué compila erlang: foo()?
- 27. columna PostgreSQL 'foo' no existe
- 28. ¿Por qué "foo" .toString() no es lo mismo que toString.call ("foo")?
- 29. ¿Por qué ("foo" === new String ("foo")) se evalúa como falso en JavaScript?
- 30. nuevo Foo {A = 1,} ¿Error o característica?
¿No está asignado? Es un rvalue – Hogan
@Hogan: Sí, está asignado. – Guffa
'alerta (foo)' devuelve indefinido. –