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数组方法-系统性总结详解

    本文是小编给大家特意整理的关于js数组方法的知识,非常实用,在面试笔试题中经常用得到,有需要的朋友可以参考下
    2021-09-09
  • JS使用正则表达式实现常用的表单验证功能分析

    JS使用正则表达式实现常用的表单验证功能分析

    这篇文章主要介绍了JS使用正则表达式实现常用的表单验证功能,结合实例形式分析了JS基于正则表达式的表单验证功能原理、实现技巧与操作注意事项,需要的朋友可以参考下
    2020-04-04
  • JavaScript中检测变量是否存在遇到的一些问题

    JavaScript中检测变量是否存在遇到的一些问题

    要检测某一变量是否存在,虽然简单但是也要细心,下面整理了几点,遇到类似问题的朋友可以参考下
    2013-11-11
  • js实现随机圆与矩形功能

    js实现随机圆与矩形功能

    这篇文章主要为大家详细介绍了js实现随机圆与矩形功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • uniapp小程序实现瀑布流布局的思路与代码

    uniapp小程序实现瀑布流布局的思路与代码

    这篇文章主要给大家介绍了关于uniapp小程序实现瀑布流布局的思路与代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 巧妙解决Layui.table组件分页问题示例

    巧妙解决Layui.table组件分页问题示例

    这篇文章主要为大家介绍了巧妙解决Layui.table组件分页问题方法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • JavaScript中三种常见的排序方法

    JavaScript中三种常见的排序方法

    本篇文章主要介绍了JavaScript中三种常见的排序方法:快速排序、插入排序、冒泡排序,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • H5页面跳转小程序的3种实现方式

    H5页面跳转小程序的3种实现方式

    这篇文章主要给大家介绍了关于H5页面跳转小程序的3种实现方式,说出来你可能不信,每位商家几乎都会h5转跳到小程序、H5转跳至小程序的应用范围十分广阔,需要的朋友可以参考下
    2023-08-08
  • json对象转为字符串,当做参数传递时加密解密的实现方法

    json对象转为字符串,当做参数传递时加密解密的实现方法

    下面小编就为大家带来一篇json对象转为字符串,当做参数传递时加密解密的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • 小程序如何定位所在城市及发起周边搜索

    小程序如何定位所在城市及发起周边搜索

    这篇文章主要介绍了小程序如何定位所在城市及发起周边搜索,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02

最新评论