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


Posted in Javascript onMarch 08, 2007

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 相关文章推荐
飞鱼(shqlsl) javascript作品集
Dec 16 Javascript
safari,opera嵌入iframe页面cookie读取问题解决方法
Jun 23 Javascript
jquery和javascript的区别(常用方法比较)
Jul 04 Javascript
Jquery插件编写简明教程
Mar 25 Javascript
jQuery中offsetParent()方法用法实例
Jan 19 Javascript
JavaScript对象学习小结
Sep 02 Javascript
原生javascript实现读写CSS样式的方法详解
Feb 20 Javascript
利用jquery正则表达式在页面验证url网址输入是否正确
Apr 04 jQuery
微信小程序顶部可滚动导航效果
Oct 31 Javascript
Vue+Element实现网页版个人简历系统(推荐)
Dec 31 Javascript
微信小程序用户盒子、宫格列表的实现
Jul 01 Javascript
vue+axios 拦截器实现统一token的案例
Sep 11 Javascript
JScript中的"this"关键字使用方式补充材料
Mar 08 #Javascript
function, new function, new Function之间的区别
Mar 08 #Javascript
JavaScript中this关键字使用方法详解
Mar 08 #Javascript
区分JS中的undefined,null,"",0和false
Mar 08 #Javascript
在JavaScript中使用inline函数的问题
Mar 08 #Javascript
JS类中定义原型方法的两种实现的区别
Mar 08 #Javascript
JavaScript语言中的Literal Syntax特性分析
Mar 08 #Javascript
You might like
一个程序下载的管理程序(二)
2006/10/09 PHP
有道搜索和IP138的IP的API接口(PHP应用)
2012/11/29 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
2015/01/04 PHP
浅析JavaScript原型继承的陷阱
2013/12/03 Javascript
JQuery页面的表格数据的增加与分页的实现
2013/12/10 Javascript
防止登录页面出现在frame中js代码
2014/07/22 Javascript
javascript 面向对象封装与继承
2014/11/27 Javascript
JavaScript如何实现在文本框(密码框)输入提示语
2015/12/25 Javascript
js中toString()和String()区别详解
2017/03/23 Javascript
Vue form 表单提交+ajax异步请求+分页效果
2017/04/22 Javascript
vue-cli安装使用流程步骤详解
2018/11/08 Javascript
微信小程序车牌号码模拟键盘输入功能的实现代码
2018/11/11 Javascript
八种Vue组件间通讯方式合集(推荐)
2020/08/18 Javascript
js实现随机圆与矩形功能
2020/10/29 Javascript
python中尾递归用法实例详解
2015/04/28 Python
Python实现处理管道的方法
2015/06/04 Python
浅谈python数据类型及类型转换
2017/12/18 Python
Python实现的读写json文件功能示例
2018/06/05 Python
Django 全局的static和templates的使用详解
2019/07/19 Python
python的pstuil模块使用方法总结
2019/07/26 Python
python将数组n等分的实例
2019/12/02 Python
python爬虫基础知识点整理
2020/06/02 Python
安装python3.7编译器后如何正确安装opnecv的方法详解
2020/06/16 Python
零基础小白多久能学会python
2020/06/22 Python
DC Shoes荷兰官方网站:美国极限运动品牌
2019/10/22 全球购物
Chupi官网:在爱尔兰手工制作的订婚、结婚戒指和精美珠宝
2020/09/28 全球购物
装修设计师求职信
2014/02/26 职场文书
聚美优品励志广告词
2014/03/14 职场文书
国窖1573广告词
2014/03/21 职场文书
乡镇安全生产目标责任书
2014/07/23 职场文书
改进作风怎么办发言材料
2014/08/17 职场文书
党的群众路线教育实践活动个人对照检查材料范文
2014/09/25 职场文书
党员学习新党章思想汇报
2014/10/25 职场文书
晚自修旷课检讨书怎么写
2014/11/17 职场文书
上课迟到检讨书
2015/05/06 职场文书
六一晚会主持词开场白
2015/05/28 职场文书