改善Java Script程序的建议(一)

简介: 改善Java Script程序的建议(一)

1、减少全局变量的污染

    定义全局变量的三种方式:


    (1)在任何函数外面直接执行 var 语句。 var f = 'value';


    (2)直接添加一个属性对全局对象上。   window.f = 'value';


    (3)直接使用为经生命的变量,以这种方式定义的全局变量被称为隐式的全局变量。 f = 'value';


2、注意特殊类型的特殊性


    (1)防止浮点数溢出  num = 0.1 + 0.2;   // 0.300000000000004


    (2)剩用 JavaScript 类型自动转换


    (3)正确监测数据类型


    (4)避免误用 parseInt


         parseInt("123abc")     // 123


         parseInt("1.73")       // 1


         parseInt(".123")       // NaN


3、谨慎使用运算符


    (1)用 ===, 而不用 ==


    (2)小心逗号运算符


         var a = ( 1, 2, 3, 4); alert(a);         // 4


    (3)警惕运算符的副作用


          var a = 0;console.log(a++); // 0


         var a; a = 0; a++; console.log(a); // 1


4、不用滥用 eval,避免使用width,continue


5、推荐使用提高循环性能的策略

   (1)避免长度的多次计算



     

    (2)倒序循环可以略微提高循环性能

     

6、少用函数迭代

     


    总结: 尽管基于函数的迭代使用起来非常便利,但是比基于循环的迭代要慢一些。每个数组项要关联额外的函数调用是造成速度慢的主要原因,

       

           基于函数的迭代占用时间是基于循环迭代的8倍,因此在非特殊需求下,不建议使用函数迭代。


7、推荐提高条件性能的策略


    总结:在多数情况下,seitch 比 if 运行要快,从性能方面考虑,如果条件较少,应使用if,如果条件较多,应使用switch.


         一般来说,if 适用于判断两个离散或几个不同的值域或几个不用的值域。如果判断多于两个离散值,那么 switch 将是更理想的选择。


8、优化 if 逻辑


    if 优化目标: 最小化找到正确分支之前所判断条件体的数量。if 优化方法:将常见的条件体放在首位。


9、小心 if 隐藏的 Bug


    if(a = 1){


         alert(a);           //表达式合法,Bug很难发现


    }


    可以把常量放在前面,从而能够及时发现这个 Bug 。例如:


      if(1 = a){


         alert(a);          


    }


10、准确适用循环体


    (1)for 循环


    (2)while 循环


    (3)do{} while()


    (4)for in


    总结:前三种循环比 for in 速度快7倍之多。


    for 循环和 while 循环比较时,for循环比较应用于 简单数值迭代操作。



    如果循环体,再次出现条件判断,执行复杂条件时效率会大大降低。



一般来说,在循环结构中动态改变循环变量的值时,建议使用 while 结构,而对于静态的循环变量,则可以考虑使用 for 结构。



11、使用递归模式












相关文章
|
1月前
|
Java 流计算
利用java8 的 CompletableFuture 优化 Flink 程序
本文探讨了Flink使用avatorscript脚本语言时遇到的性能瓶颈,并通过CompletableFuture优化代码,显著提升了Flink的QPS。文中详细介绍了avatorscript的使用方法,包括自定义函数、从Map中取值、使用Java工具类及AviatorScript函数等,帮助读者更好地理解和应用avatorscript。
利用java8 的 CompletableFuture 优化 Flink 程序
|
2月前
|
XML 存储 JSON
Java程序部署
Java程序部署
|
8天前
|
JavaScript 前端开发
利用事件循环提高 JavaScript 程序的性能
本文介绍了事件循环在JavaScript中的工作原理,以及如何通过合理利用事件循环来优化程序性能,包括异步操作、任务优先级和避免阻塞等技巧。
|
25天前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
39 2
|
28天前
|
安全 Java Linux
java程序设置开机自启
java程序设置开机自启
|
1月前
|
JavaScript 前端开发
如何使用Vue.js构建响应式Web应用程序
【10月更文挑战第9天】如何使用Vue.js构建响应式Web应用程序
|
1月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
34 1
|
2月前
|
消息中间件 分布式计算 Java
Linux环境下 java程序提交spark任务到Yarn报错
Linux环境下 java程序提交spark任务到Yarn报错
41 5
|
2月前
|
Java 编译器 数据库连接
探索Java中的异常处理:提升程序的鲁棒性
【9月更文挑战第25天】在Java的世界里,异常是那些不请自来、令人头疼的“客人”。它们悄无声息地潜入我们的代码,一旦出现,便可能导致程序崩溃或行为异常。但是,如果能够妥善管理这些异常,我们就能将潜在的灾难转变为增强程序鲁棒性和用户体验的机会。本文将通过深入浅出的方式,带领读者理解Java异常处理的重要性,并提供实用的策略来优雅地处理这些意外情况。让我们一起学习如何在Java中捕捉、处理和预防异常,确保我们的程序即使在面对不可预见的错误时也能保持稳健运行。
|
1月前
|
Java Python
如何通过Java程序调用python脚本
如何通过Java程序调用python脚本
25 0