Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
变量为空时javascript中的三元运算符_Javascript_Php_Operator Keyword_Ternary - Fatal编程技术网

变量为空时javascript中的三元运算符

变量为空时javascript中的三元运算符,javascript,php,operator-keyword,ternary,Javascript,Php,Operator Keyword,Ternary,我在php中使用了三元运算符$foo=get_字段('foo')?:null但我正在寻找javascript中的等效版本。到目前为止,我已经尝试了var foo=| | null。但是由于本例中的为null/empty,因此控制台将向我提供错误未捕获的语法错误:意外标记| |,因为变量为var foo=| | null 在javascript中使用三元运算符还有其他方法吗 您需要从php返回一个falsy值。你的代码几乎是正确的。它只是缺少了它周围的引号 var foo = '<?php

我在php
中使用了三元运算符$foo=get_字段('foo')?:null
但我正在寻找javascript中的等效版本。到目前为止,我已经尝试了
var foo=| | null。但是由于本例中的
为null/empty,因此控制台将向我提供错误
未捕获的语法错误:意外标记| |
,因为变量为
var foo=| | null


在javascript中使用三元运算符还有其他方法吗

您需要从php返回一个falsy值。你的代码几乎是正确的。它只是缺少了它周围的引号

var foo = '<?php echo $foo; ?>' || null;
console.log('foo', foo);   // null
var foo=''|| null;
console.log('foo',foo);//无效的
这是因为当$foo为空时,它将
var foo=''| | null

由于
'
在Javascript中是falsy,它将返回null。

您需要从php返回一个falsy值。你的代码几乎是正确的。它只是缺少了它周围的引号

var foo = '<?php echo $foo; ?>' || null;
console.log('foo', foo);   // null
var foo=''|| null;
console.log('foo',foo);//无效的
这是因为当$foo为空时,它将
var foo=''| | null

由于
'
在Javascript中是错误的,它将返回null。

您的问题与三元运算符无关,而是与PHP输出到Javascript有关。最安全的方法是:

var foo = <?php echo json_encode($foo); ?> || null ;
var foo=| | null;

json\u encode()
函数确保变量以JS理解的形式回送。

您的问题与三元运算符无关,而是与PHP输出到javascript有关。最安全的方法是:

var foo = <?php echo json_encode($foo); ?> || null ;
var foo=| | null;

json\u encode()
函数确保变量以JS理解的形式回送。

var foo=(“”)?“”:无效
没有工作?你的JS应该工作,当
$foo
null
@smarber时,只需从PHP输出一个“falsy”值。问题似乎是PHP代码没有输出任何东西,所以JS仍然会出错。请注意
var foo=(“”)周围的引号:无效
不起作用?JS应该起作用,当
$foo
null
@smarber时,只需从PHP输出一个“falsy”值。问题似乎是PHP代码没有输出任何内容,所以JS仍然会出错。请注意
周围的引号