跳到主要内容
CNode

node里"asdf".split('')的结果里为什么字符是单引号包裹的?

社区
Llyuehh发布于 13 年前最后回复 13 年前
1259770

如题:

> "asdf".split('')
[ 'a', 's', 'd', 'f' ]

我试了chrome下

> 'asdf'.split('')
["a", "s", "d", "f"]

node是出于什么考虑呢?

查看回复

回复 (12)

M
myy#1213 年前

说白了,nodejs 通过控制台打印的东西,字符串统一表示为单引号方式而已。

L
leizongmin#1113 年前
引用 zhouzf字符和字符串的区别

您是C程序员吧? js没有字符类型,只要字符串

Z
zhouzf#1013 年前

字符和字符串的区别

R
redstone#913 年前

js种单引号,双引号完全一样,所以这个问题没什么价值

L
leizongmin#813 年前

Node的REPL中对对象格式化的实现与Chrome的控制台实现得有点不一样而已。 这个与V8无关。

另外,这个只是用来给你自己看的,程序实际运行的时候又不是这样的,有神马好纠结的呢?

参考:https://github.com/joyent/node/blob/master/lib/util.js#L204

S
seasonx4#613 年前

v8版本是不同的,另外讨论这个没什么意义

L
lyuehh#413 年前

我打算直接把结果写到.json的文件里,而json格式要求字符串都是双引号的。。 然后发现直接JSON.stringify("asdf".split(''))就可以了。。

F
fiture#313 年前

不是…一样的么?

P
Pana#213 年前

这两个有什么区别?

J
jiyinyiyong#113 年前

真是注意不到, 照说同是 V8 应该是一样的... 只能看源码了..

参与回复

登录后即可参与回复。登录