我在node.js中运行它:
> x = { 'foo' : 'bar' }
{ foo: 'bar' }
> console.log(x)
{ foo: 'bar' }
undefined
> console.log("hmm: " + x)
hmm: [object Object]
undefined
Run Code Online (Sandbox Code Playgroud)
我不明白的是为什么console.log(x)"漂亮地打印"对象,而字符串连接"丑陋打印"它.更重要的是,什么是打印的最佳方式hmm: { foo: 'bar' }?
我在php和javascript中有两个相同代码块的版本.它们的输出略有不同.Javascript输出中有两个"未定义"元素.我知道Javascript数组索引是从0开始的增量,并且不允许我们跳过任何索引号.
有没有解决这个问题,所以Javascript数组输出看起来像Php数组输出?
PHP代码:
$n = array();
$n[0] = 'Apple';
$n[3] = 'Apple';
echo "<pre>";
print_r( $n );
echo "</pre>";
Run Code Online (Sandbox Code Playgroud)
输出:
Array
(
[0] => Apple
[3] => Apple
)
Run Code Online (Sandbox Code Playgroud)
Javascript代码:
var n = new Array();
n[0] = 'Apple';
n[3] = 'Apple';
n;
Run Code Online (Sandbox Code Playgroud)
输出:
[
"Apple",
undefined,
undefined,
"Apple"
]
Run Code Online (Sandbox Code Playgroud)
谢谢!!