前端 - javascript初级问题
阿神
阿神 2017-04-11 13:30:59
[JavaScript讨论组]

javascript对标点的要求,有时候少一个分号 ; 就不行,有时候没加引号 “” ,又不行,那么到底这些标点如何判断加不加?有没有要遵循的基本原则?

阿神
阿神

闭关修行中......

全部回复(14)
ringa_lee

简要规范是应该遵守的,否认少了个螺丝的车子总会散架的.这个和js,php等什么语言无关.

PHP中文网

JS 又不像 Python 用缩进来控制代码逻辑,JS 对于没有 ; 的代码会依次向后遍历直到语句通顺为止,

var
a
=
3

而且还不能造成歧义,

听说过不加 ; 的,还没听说过不加 ""的,引号是必须要的吧,求题主普及不加引号的。

新手怕出问题,建议还是手动加引号吧。

迷茫

可以看看《effective JavaScript》第6条

怪我咯

记住以([/+-这五个字符开头的要加分号一般就够了。其它还有.,*%开头也要加分号,但是下面四个一般不会在开头,所以记住上面五个就一劳永逸了。如果想探究原理,可以看标准,里面有一节专门写了asi自动分号插入机制。

熬,还有引号,字符串加引号,标致符,保留字什么的不加。其它暂时没想起来!

大家讲道理

如果你真的说的是很基础很基础的的意思,那我只能说多看多写,我刚接触编程的时候,觉得;就代表了一行代码的结束,所以当时恨不得每一行都来个;作为结束。举个例子,for(...){...}这个后面就没有;,再比如,if(){}后面也没有;,到现在我也不知道为什么这些后面没有;,但我觉得记住是这样写的就行了。至于“”,很好奇你说的不加“”就不行的例子,举个例子?

PHPz

分号

js 中可以不加分号,但是推荐加。

分号是添加在一条语句 statement 的末尾的,基本和java,c等语言的要求类似。
注意, ECMA 规定, function 声明不是一条语句,所以我们一般不在它的结尾加分号。

function foo() {
  // ...
}

但如果把一个函数赋值给一个变量,它又算是一个赋值语句,所以应该加分号。

var bar = function () {
  // ...
};

当然实际中没必要这么学院派,因为它并不影响程序运行,可加可不加,完全按照团队的代码规范来决定--如果有的话。

引号

当然如果你要声明一个字符串才加引号啊。单引号双引号都可以。但是一般推荐单引号。

PS 注意编程的时候切换你的输入法,分号得是英文输入法下的半角符号。;不是一个字符,解释执行的时候会报错的...

参考

  • ECMA

大家讲道理

分号书写的时候可有可无,因为解析器执行代码的时候会自动加上,至于引号,引号是引号声明字符串字面量的
var s="this is a string";
题主有见过这样声明字符串字面量的吗?

var s = this is a string;

这样解析器会吧s的值当成一个变量执行(例子中的变量名还是错误的)

巴扎黑

不加分号就算了,还要写两行是什么鬼。。C,Java之类的不写就直接报错了

巴扎黑

该加的加上总没错

大家讲道理

如果语句不通顺,代码会遍历直到语句通顺为止;如果通顺了,没有加分号,默认在换行前会加上分号;引号有需要就加上去吧

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号