新人请教JavaScript高手一个“JavaScript仅仅有单引号和双引号会不会出现不够用”的问题。

高手,您好:
小弟今天新学JavaScript,学到了JavaScript中有单引号和双引号。共同为程序提供对字符串的分隔功能。
小弟看了一篇博客后不禁有一个疑问:
因为在某些场景下,仅仅有双引号对于JavaScript是不够用的。是不能够完美表达出程序的“按照需求分隔字符串”的需要的。所以,产生了单引号。
小弟希望高手点拨:
如果仅仅用单引号和双引号来表达JavaScript程序中的字符串分隔需求,会不会出现:
“单引号和双引号加起来,也不能够完美表达当前字符串分隔的需求”的场景?
是不是还需要“三引号”和“十八引号”?
希望得到高手的点拨!!
感谢高手的过目!!
小弟,在线等。

首先,单引号和双引号可以互相包含,比如:

var s1 = "'单引号'和'双引号'可以互相包含";  //这是允许的
var s2 = '"单引号"和"双引号"可以互相包含';  //这也是对的

但是单引号中直接包含单引号或者双引号中直接包含双引号则是错误的:

var s1 = '单引号中直接包含'单引号'则是错的';  //这是错的
var s2 = "双引号中直接包含"双引号"也是错的";  //这也是错的

要想实现上述目的,可以使用转义:

var s1 = '单引号中包含\'单引号\'可以通过转义符实现';  //这是对的
var s2 = "双引号中包含\"双引号\"可以通过转义符实现";  //这也是对的

最后,回到你的问题,当出现需要三重以上的引号套用时,里面的引号只要与外层引号相同一律用转义符进行转义即可,js在使用字符串时会自动转为正确的引号:

var s1 = "'\"'\"'\"你能看出这里包含了几重引号?\"'\"'\"'";

补充说一句:作为有十多年工作经验的老程序员,我可以负责任地告诉你:实际工作中极少遇到需要三重以上引号套用的情况,如果确实遇到,可以通过多个字符串拼接的方式来解决,因为尽管可以通过转义,但会使代码的阅读性降低,容易造成错误。

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-10-08
你初学的JS,其实是EcmaScript ES3版。一般的教程都是用这个版本教的。 后面还有ES5和ES6版(没有ES4),ES7和ES8版,会在ES3的基础上,增加很多内容。
等你学到ES6版本的时候,就知道了,除了单引号和双引号,还有一个是键盘1左边那个点。就是这个点 ` ,跟波浪线在同一个按键上。
相似回答