700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > js中单引号和双引号

js中单引号和双引号

时间:2022-02-22 20:47:22

相关推荐

js中单引号和双引号

知乎 注册知乎登录首页 话题 发现 前端开发JavaScript前端工程师

JavaScript 中字符串变量使用单引号和双引号的利弊?

最近在做一些规范的工作,这个点没想明白,到底单引号和双引号有啥利弊,为什么有的规范推荐双引号,我个人习惯了使用单引号。

纯json我知道为啥要使用双引号,因为很多语言只能解析双引号的格式,为了接口通用性,必须使用双引号来包围key和value,但是一般的funciton里声明的字符串变量呢? 1 条评论 分享 按投票排序按时间排序

17 个回答

屹峰,有空可以来看看我专栏。现在回答少了是因… Leo Wang、杨宇翔、张华斌等人赞同 javascript,php 的来说一下我的习惯。

一个主要的原因嘛,这个也是习惯问题(当然,选择了一种以后就要全部统一哦)。

首先HTML 是这样的:

<div class="zu-global-notify" id="zh-global-message">

前端嘛,不管是 js 还是 php,都免不了 HTML。一般 HTML 习惯是属性都用双引号。那么当遇到 js 和 php 里要用 HTML string 的时候,就是这样:

// jsvar str = '<div class="zu-global-notify" id="zh-global-message">';// php$str = '<div class="zu-global-notify" id="zh-global-message">';$str2 = '<div class="'.$someClass.'" id="zh-global-message">';

然后也有少按 shift 的原因在里面,毕竟 js 里没区别,在 php 里要用变量也都是 「'str'.$var.'ing'」搞定。

P.S. 前端里面(可能我看英文圈子比较多,国内不详),用 ' 应该是随大流的习惯,也就是说,遇到代码风格一致的可能性会高一些,这样写代码也省一点事儿。

P.S. 2 让我想到类似的一个代码风格的问题,

if ( condition ) {// do something}if ( condition ) {// do something}

一阵血雨腥风啊,不同语言习惯的人真的不能在一起(写代码)。编辑于 -06-072 条评论感谢 分享 收藏•没有帮助• 举报 •作者保留权利rambo,web全栈工程师 知乎用户赞同 在js中拼接字符串 我会使用 单引号

其余(包括coffeescript)我会使用双引号

原因: 单音号在拼接字符串的时候,尤其是拼接html字符串 单音号的好处最为突出 因为我们通常都喜欢用双引号来作为html里的标识 eg: id="_id"

ps: 顺便说一句 在coffeescript 中 拼接变量 必须得使用 双引号编辑于 -06-07添加评论感谢 分享 收藏•没有帮助• 举报 •作者保留权利郁辰磊,前端工程师 韩峰、何自强赞同 单引号。。。。。。因为双引号要多按shift。。。发布于 -06-071 条评论感谢 分享 收藏•没有帮助• 举报 •作者保留权利孙竟,我不是做前端的 马浩翔、韩峰、何自强等人赞同 平时主要用 Python,为了保持风格一致,我一般都用单引号,优点是少按一个 shift 键。如果你每天写 100 个引号,一年就能少按 3 万多次按键哦。发布于 -06-072 条评论感谢 分享 收藏•没有帮助• 举报 •作者保留权利王金亮,前端工程师 松叶、黎伟杰赞同 之前在前端开发有做过法语国际化相关的工作,法语的单词会有单引号存在(比如L'amour),如果这样的单词外面在包一层单引号... 所以留下的习惯就是能用双引号的地方都用双引号发布于 -07-30添加评论感谢 分享 收藏•没有帮助• 举报 •作者保留权利行骏,前端开发工程师1. 可以少按shift。

2. 变量中常有html片段,html片段都用的双引号。

直到我最近做法语站,这法语中包含了很多的单引号,让我痛苦不堪。发布于 -07-191 条评论感谢 分享 收藏•没有帮助• 举报 •作者保留权利Jare Guo,Cocos Creator 棒棒哒 倪二哥、you you赞同 从 html 的角度考虑,确实用单引号会方便很多。但如果是单纯的 .js 文件,我倾向于使用双引号。

1. 因为 ES6 引入了 template string,template string 用的分隔符 [ ` ] 看起来和单引号[ ' ] 太像了,容易搞混。我们在项目中遇到过,有人在使用单引号字符串里误用了 template string,导致字符串未能正确替换,但是修 bug 的人也没找到这个错误,反而以为是执行环境不支持 ES6,结果就把 template string 干掉改成用 “%s” 来拼接字符串…… 如果用双引号表示字符串,这两个人根本就不会看错。

2. 此外,双引号最直接的好处是,插入单引号会很方便(废话)。我随便查阅了 SourceTree, WebStrom, Unity3D 三款软件的英文提示,发现老外都很少在提示信息里插入双引号,而是在应该用双引号的地方直接写单引号。因此为了让你的软件逼格更高,文本中间就别插入双引号了!哈哈~~~

3. 最后,如果你喜欢写单元测试的话,双引号还有一个好处是和 JSON 保持一致。例如:

expect(data).to.deep.equal({"foo": 0,"bar": 1,...});

这里的对象 "{ foo: ... }" 其实不是手打的,而是从运行时通过输出的 JSON 复制过来的,如果用单引号的话,还得再转换一次才能用……编辑于 -01-04添加评论感谢 分享 收藏•没有帮助• 举报 •作者保留权利谢然,怎么突然这冒出这么多人想学前端开发??我记得权威指南上讲过js里这两个引号的用法是完全相同的发布于 -06-07添加评论感谢 分享 收藏•没有帮助• 举报 •作者保留权利吴佐衍,最钝的刀可以成为铁锤 知乎用户赞同 这是编程语言习惯问题!

我个人推荐使用单引号,前端避免不了要写HTML代码,而HTML中属性需要用双引号!这种情况下使用单引号简洁不需要转义!发布于 -12-09添加评论感谢 分享 收藏•没有帮助• 举报 •作者保留权利知乎用户看来支持单引号的比较多一些,哈哈哈,以前也没这个迷惑,逐渐看得书多了,说什么的都有,反而会有一些迷惑,不知道大家有这个困惑没发布于 -06-07添加评论感谢 分享 收藏•没有帮助• 举报 •作者保留权利Wang Toddy,Nothing in the world can take the plac…感觉都是习惯问题,在html结构里面都是双引号吧。在js里面如果有拼接的时候喜欢单引号。

同时觉得js里面还是少用拼接,这样有兼容问题。发布于 -02-27添加评论感谢 分享 收藏•没有帮助• 举报 •作者保留权利知乎用户,ENTP | 天秤座超进化...处女座!觉得双引号看着比较"脏"

尤其遇上那种三元不带空格还双引号的 恶心死了

强迫症一来 CTRL H " => ' 再一行行去加空格

喔 还有多维数组双引号 哇塞 蛋疼得不行........发布于 -02-27添加评论感谢 分享 收藏•没有帮助• 举报 •作者保留权利廖昆勇,海,总会有风平浪静的时刻。。$(“#id”).html('you are "ass hole". ')发布于 -04-18添加评论感谢 分享 收藏•没有帮助• 举报 •作者保留权利倪二哥,一个普通的地球人!写什么代码就用什么约定。只这一句就够了~~~虽然大多数语言尤其是服务器端语言都是双引号,js权当另类语言罢了,约定俗称跟随老外走就对了,毕竟这东西都是人家发明的。发布于 -08-04添加评论感谢 分享 收藏•没有帮助• 举报 •作者保留权利赖传峰,大前端开发习惯用双引号,因为双引号之前经常出现"("与":",所以按着shift顺手就下去了。发布于 -12-04添加评论感谢 分享 收藏•没有帮助• 举报 •作者保留权利糖醋排骨,兴趣爱好成了工作,据说是杯具啊 知乎用户、yaway、曾晓辉赞同 单纯的讨论 Javascript 的情况下,必然使用单引号啊

强迫症患者,看着双引号还多了一笔感觉浪费,有木有?

字符串里面写 HTML 的时候,JS 用双引号还要转义,有木有?

输入双引号的时候还要多按一个 Shift 键,有木有?

再者说了,貌似输入单引号是不是代码看上去短一点儿啊?

强迫症患者伤不起,即使是使用 PHP 的时候,不到万不得已我才不用双引号咧~编辑于 -06-072 条评论感谢 分享 收藏•没有帮助• 举报 •作者保留权利匿名用户 倪二哥赞同 写什么代码就用什么约定。感觉js用单引号的比较多一些。

个人最讨厌那种把C语言的习惯带入js,js的习惯带入C的那种人!他们都有一种熟练使用某种语言的优越感,因此写出的其他语言代码一般都是一坨屎。编辑于 -12-082 条评论感谢 分享 收藏•没有帮助• 举报 •作者保留权利 我来回答这个问题

写回答…

我要回答

加入知乎

与世界分享你的知识、经验和见解

64 人关注该问题换一换

相关问题

Web 前后端分离的意义大吗?28 个回答前端工程师,你们都在研究哪些技术?14 个回答你为什么选择 JavaScript ?24 个回答做前端开发必需要掌握切图技能吗?45 个回答为什么前端工程师很难找?141 个回答 刘看山移动应用加入知乎知乎协议商务合作 引用自知乎的回答:/question/21168673

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。