CNode

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

Llyuehh发布于13 年前最后回复13 年前12 回复5958 浏览0 收藏

如题:

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

我试了chrome下

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

node是出于什么考虑呢?

查看回复

回复 (12)

J
jiyinyiyong#1·13 年前

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

P
Pana#2·13 年前

这两个有什么区别?

F
fiture#3·13 年前

不是…一样的么?

L
lyuehh#4·13 年前

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

S
seasonx4#6·13 年前

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

L
leizongmin#8·13 年前

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

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

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

M
myy#9·13 年前

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

R
redstone#10·13 年前

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

Z
zhouzf#11·13 年前

字符和字符串的区别

L
leizongmin#12·13 年前
引用 zhouzf字符和字符串的区别

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

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