JavaScript语句可以不以;结尾的烦恼

 更新时间:2007年03月08日 00:00:00   作者:  
JavaScript做为一个灵活的脚本语言,其成功是我们显而易见的。不过对于JavaScript语句可以不以";"结尾这点,我对其一直都耿耿于怀!这个特性除了带来语句的混乱,且使其依赖于代码排版(换行)外,我没有发现任何的优点。难道是为了可以少敲一个";"?! 如果习惯了C#、C/C++等的强制";",会更加的觉得郁闷。

    同时这个特性对于JavaScript的debug来说,是灾难性的。下面这个语句是正确的吗?

if ( results == 'AdvancedTimeSelect' )
{
    this.DoAdvancedTimeSelect();
    // . . .
}
else ( results && results.length > 0 )
{
    // . . .
}
// . . .
    这是我在把"if"-"else"语句结构变成"if"-"else if"-"else"结构时,不小心写成的代码(漏加了一个if)。如果是在C#中等强制要求";"作语句结尾的语言中,这样语句就是一个明显的语法错误。

    可是上面这段代码在JavaScript中却是没有任何语法问题的,同时也可以"正常的"运行。只是这个正常带来的副作用太让人郁闷了,当这段代码处于完整的一个功能模块中时,给debug带来无尽的混乱。虽然另外一个重要的原因也是自己的眼神不好,才写成这样,不过我还是要对JavaScript不强制要求语句以";"结尾的规定耿耿于怀!

    上面代码的结果是如果第一个if条件成立,那么两个()和两个{}内的代码都执行。如果不成立,就执行else以后的代码,包括()和{}括起来的。因为JavaScript把( results && results.length > 0 )当成一个语句作为了else的分支,然后{}就是一个独立的语句集合了。

相关文章

  • JavaScript实时更新当前的时间的示例代码

    JavaScript实时更新当前的时间的示例代码

    这篇文章主要介绍了JavaScript实时更新当前的时间的示例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • js的event详解。

    js的event详解。

    js的event详解。...
    2006-09-09
  • 如何确保JavaScript的执行顺序 之实战篇

    如何确保JavaScript的执行顺序 之实战篇

    我曾在文章《如何在多个页面使用同一个HTML片段 - 续》的最后提到JavaScript顺序执行的特性。虽然现代浏览器可以并行的下载JavaScript(部分浏览器),但考虑到JavaScript的依赖关系,他们的执行依然是按照引入顺序进行的。
    2011-03-03
  • JavaScript中好用的解构用法详解

    JavaScript中好用的解构用法详解

    这篇文章主要为大家介绍了JavaScript中好用的解构用法操作示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • JS实现点击链接切换显示隐藏内容的方法

    JS实现点击链接切换显示隐藏内容的方法

    这篇文章主要介绍了JS实现点击链接切换显示隐藏内容的方法,涉及javascript鼠标事件响应及页面元素属性动态变换相关操作技巧,需要的朋友可以参考下
    2017-10-10
  • TypeScript中的interface与type实战

    TypeScript中的interface与type实战

    这篇文章主要介绍了TypeScript中的interface与type详解,它们都是用来定义类型的强大工具,在实际开发中,你可以根据具体情况选择使用 interface 或 type,或者甚至将它们结合起来使用,需要的朋友可以参考下
    2023-06-06
  • JS将光标聚焦在文本最后的实现代码

    JS将光标聚焦在文本最后的实现代码

    这篇文章主要介绍了JS将光标聚焦在文本最后的方法,需要的朋友可以参考下
    2014-03-03
  • JS如何实现手机端输入验证码效果

    JS如何实现手机端输入验证码效果

    这篇文章主要介绍了JS如何实现手机端输入验证码效果,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • 使用JavaScript实现响应式计数器动画

    使用JavaScript实现响应式计数器动画

    在本文中,我们将学习如何使用 HTML CSS 和 JavaScript创建响应式计数器动画。 我们在很多地方都可以用,比如适用于不同类型的个人网站、企业网站等,感兴趣的可以了解一下
    2022-08-08
  • JavaScript实现图片拖曳效果

    JavaScript实现图片拖曳效果

    这篇文章主要为大家详细介绍了JavaScript实现图片拖曳效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09

最新评论