首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带逗号的JS语句分隔符

问带逗号的JS语句分隔符
EN

Stack Overflow用户
提问于 2011-12-14 22:42:19
回答 2查看 11.4K关注 0票数 27

我找到了下面的js示例,并被语法搞糊涂了。请注意,语句之间用逗号分隔,而不是分号。在js中逗号是有效的语句分隔符吗?我以前没见过这种情况。

代码语言:javascript
复制
    $('selector').each(function () {

            this.onclick = function () {
                this.select();
            },

            this.onblur = function () {
            },

            this.onfocus = function () {
            },

            this.onkeyup = function () {
            }
    });
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-14 22:45:54

逗号在单个表达式语句中充当表达式之间的分隔符。因此,这只是一个表达式语句(如果它已经完成,而不是在"onkeyup“函数之后被截断)。

真的没有理由那样写代码,或者至少没有很好的理由。在这种特殊情况下,它与一系列由分号分隔的单独表达式语句具有本质上相同的效果。

逗号“操作符”在许多情况下是有问题的,但有时很有用:

代码语言:javascript
复制
var index, len;
for (index = 0, len = list.length; index < len; ++index) { ... }

例如。它允许用户将多个表达式(通常是赋值)放入只允许一个表达式的语法区域设置中。在我看来,这确实是句法缺陷的表现。

票数 27
EN

Stack Overflow用户

发布于 2011-12-14 22:57:19

每个赋值实际上是一个表达式(而不是语句);表达式可以连接成一个更大的表达式,其最终值只是最后一个子表达式的值;

代码语言:javascript
复制
alert(  (w=1+1, x=2+3, y=3+3, z=4+4)  ); // shows 8

虽然您展示的代码是有效的,但我不认为这是一个好的模式。我会把它改成分号。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8506305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档