扫码关注官方订阅号
javascript对标点的要求,有时候少一个分号 ; 就不行,有时候没加引号 “” ,又不行,那么到底这些标点如何判断加不加?有没有要遵循的基本原则?
闭关修行中......
简要规范是应该遵守的,否认少了个螺丝的车子总会散架的.这个和js,php等什么语言无关.
JS 又不像 Python 用缩进来控制代码逻辑,JS 对于没有 ; 的代码会依次向后遍历直到语句通顺为止,
var a = 3
而且还不能造成歧义,
听说过不加 ; 的,还没听说过不加 ""的,引号是必须要的吧,求题主普及不加引号的。
新手怕出问题,建议还是手动加引号吧。
可以看看《effective JavaScript》第6条
记住以([/+-这五个字符开头的要加分号一般就够了。其它还有.,*%开头也要加分号,但是下面四个一般不会在开头,所以记住上面五个就一劳永逸了。如果想探究原理,可以看标准,里面有一节专门写了asi自动分号插入机制。
熬,还有引号,字符串加引号,标致符,保留字什么的不加。其它暂时没想起来!
如果你真的说的是很基础很基础的的意思,那我只能说多看多写,我刚接触编程的时候,觉得;就代表了一行代码的结束,所以当时恨不得每一行都来个;作为结束。举个例子,for(...){...}这个后面就没有;,再比如,if(){}后面也没有;,到现在我也不知道为什么这些后面没有;,但我觉得记住是这样写的就行了。至于“”,很好奇你说的不加“”就不行的例子,举个例子?
js 中可以不加分号,但是推荐加。
分号是添加在一条语句 statement 的末尾的,基本和java,c等语言的要求类似。注意, ECMA 规定, function 声明不是一条语句,所以我们一般不在它的结尾加分号。
statement
ECMA
function
function foo() { // ... }
但如果把一个函数赋值给一个变量,它又算是一个赋值语句,所以应该加分号。
var bar = function () { // ... };
当然实际中没必要这么学院派,因为它并不影响程序运行,可加可不加,完全按照团队的代码规范来决定--如果有的话。
当然如果你要声明一个字符串才加引号啊。单引号双引号都可以。但是一般推荐单引号。
PS 注意编程的时候切换你的输入法,分号得是英文输入法下的半角符号。;和;不是一个字符,解释执行的时候会报错的...
;
;
分号书写的时候可有可无,因为解析器执行代码的时候会自动加上,至于引号,引号是引号声明字符串字面量的var s="this is a string";题主有见过这样声明字符串字面量的吗?
var s="this is a string";
var s = this is a string;
这样解析器会吧s的值当成一个变量执行(例子中的变量名还是错误的)
不加分号就算了,还要写两行是什么鬼。。C,Java之类的不写就直接报错了
该加的加上总没错
如果语句不通顺,代码会遍历直到语句通顺为止;如果通顺了,没有加分号,默认在换行前会加上分号;引号有需要就加上去吧
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
简要规范是应该遵守的,否认少了个螺丝的车子总会散架的.这个和js,php等什么语言无关.
JS 又不像 Python 用缩进来控制代码逻辑,JS 对于没有 ; 的代码会依次向后遍历直到语句通顺为止,
而且还不能造成歧义,
听说过不加 ; 的,还没听说过不加 ""的,引号是必须要的吧,求题主普及不加引号的。
新手怕出问题,建议还是手动加引号吧。
可以看看《effective JavaScript》第6条
记住以([/+-这五个字符开头的要加分号一般就够了。其它还有.,*%开头也要加分号,但是下面四个一般不会在开头,所以记住上面五个就一劳永逸了。如果想探究原理,可以看标准,里面有一节专门写了asi自动分号插入机制。
熬,还有引号,字符串加引号,标致符,保留字什么的不加。其它暂时没想起来!
如果你真的说的是很基础很基础的的意思,那我只能说多看多写,我刚接触编程的时候,觉得;就代表了一行代码的结束,所以当时恨不得每一行都来个;作为结束。举个例子,for(...){...}这个后面就没有;,再比如,if(){}后面也没有;,到现在我也不知道为什么这些后面没有;,但我觉得记住是这样写的就行了。至于“”,很好奇你说的不加“”就不行的例子,举个例子?
分号
js 中可以不加分号,但是推荐加。
分号是添加在一条语句
statement的末尾的,基本和java,c等语言的要求类似。注意,
ECMA规定,function声明不是一条语句,所以我们一般不在它的结尾加分号。但如果把一个函数赋值给一个变量,它又算是一个赋值语句,所以应该加分号。
当然实际中没必要这么学院派,因为它并不影响程序运行,可加可不加,完全按照团队的代码规范来决定--如果有的话。
引号
当然如果你要声明一个字符串才加引号啊。单引号双引号都可以。但是一般推荐单引号。
PS 注意编程的时候切换你的输入法,分号得是英文输入法下的半角符号。
;和;不是一个字符,解释执行的时候会报错的...参考
ECMA
分号书写的时候可有可无,因为解析器执行代码的时候会自动加上,至于引号,引号是引号声明字符串字面量的
var s="this is a string";题主有见过这样声明字符串字面量的吗?
这样解析器会吧s的值当成一个变量执行(例子中的变量名还是错误的)
不加分号就算了,还要写两行是什么鬼。。C,Java之类的不写就直接报错了
该加的加上总没错
如果语句不通顺,代码会遍历直到语句通顺为止;如果通顺了,没有加分号,默认在换行前会加上分号;引号有需要就加上去吧