• 技术文章 >web前端 >js教程

    关于JavaScript的一些看法_javascript技巧

    2016-05-16 18:52:16原创473
    众所周知,一句JS代码以分号结束和以回车符结束在浏览器中均能正常运行(至少在我的IE7中是这样)。不知道这是JS语言的特性或者仅仅是解释器的容错功能?由于回车符也可以是一句代码结束的标志,进行JS压缩的时候就麻烦些了。要压缩掉所有的回车符,程序就得知道哪里是一条语句的结束,并在结束位置后面添加上";"。这是一件不容易的事情(或许有容易的方法我还没想到吧),最后无赖我只好采取了一种折中的方法:保留必要的回车符,去掉";"、","、"+"等等分隔符前后的回车符。(要是JS也像C++等语言一样以";"结尾,那该是多么容易的一件事情!)
    在开发的过程中,还发现一个比较奇怪的问题。如下面的代码所示:
    复制代码 代码如下:

    1
    2
    3
    14
    15

    上面的代码可以正常运行。
    如果把第11行前的"\n"去掉,即程序变成:
    复制代码 代码如下:

    1
    2
    3
    13
    14

    则将不能正确运行,原因在于"= function(){...}"的"}"不能标志语句块结束。也就是说,整个"= function(){...}"仅仅是一条语句,如上所述,一条语句必须以回车符或者";"结束。这是和C/C++等又一重大区别。
    介于此,建议大家以后写JS代码的时候还是在一句话后面加";"表示结束,以避免不必要的BUG。
    PS:虽然JS很强大,但是它这些“缺点”真是让我没法喜欢上它。
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:JavaScript 看法
    上一篇:jquery input checked全选与反选1.3.2的版本_jquery 下一篇:jquery tabs的实现代码_jquery
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• 什么是消息队列?node中如何使用消息队列?• 18个常见angular面试题(附答案分析)• JavaScript的Symbol类型、隐藏属性及全局注册表详解• 浅析IDEA中如何开发Angular• 整理总结JavaScript常见的BOM操作
    1/1

    PHP中文网