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

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

1、数组长度的有限性和无限性

    var myArray = [];

    myArray.lenght;     // 0

    myArray[10000] = true;

    myArray.length        // 10001

    根据 ECMAScript 标准,数组的下标必须是大于或等于0且小于2^32 -1 的证书。

    我们可以指定数组的长度,这将导致所有下标大于或等于新 length 的元素被删除。


     

2、建议使用 splice 删除数组

    由于数组其实就是对象,因此使用 delete 运算符可以从数组中移除元素。但是移除下标位置元素后,会在数组中遗留一个空洞。

    例如:

         

    splice 删除元素,如下

         

3、使用 arguments 模拟重载

     

4、建议使用闭包跨域开发

     

演示步骤说明:

第一步,程序预编译之后,从第9行开始解析执行,创建上下文环境,创建调用对象,把参数、局部变量、内部的函数转换为对象的属性。

第二步,执行函数体内代码。在第6行执行局部变量 a 的递加运算,并把这个值传递给对象属性a, 内部函数动态保持与局部变量 a 的联系,同时更新自己内部调用变量的值。

第3步,外部函数把内部函数返回给全局变量c,实现内部函数的定义,此时 c 完全继承了内部函数的所有结构和数据。

第4步,外部函数返回后(即返回之后调用完毕)会自动销毁,内部的结构、标识符和数据也随之丢失。

第5步,执行第10行代码命令,调用内部函数,此时返回的是外部函数返回时(销毁之前)保存的变量a 所存储的最新数据值,即返回6。


function f(){

    var a = 1;

    b = function(){

         alert(a);

    }

    c = function(){

         a++;

    }

    d = function( x ){

         a = x;

    }

}

f();

b();            // alert(1);

c();b();        // alert(2);

d(100);b();     // alert(100);  

   

5、在循环体和异步回调中慎重使用闭包

6、通过 Function 扩展类型

   

7、原型属性和本地特性之间的关系

     

8、合理使用原型

本地属性覆盖原型属性

  function p(x){

       this.x = x;  

    }

  p.prototype.x = 1;

  var p1 = new p(10);

  alert(p1.x);            // 本地属性覆盖原型属性

  但是原型属性并没有被删除,它依然存在,仅是被覆盖

相关文章
|
11月前
|
人工智能 监控 安全
智慧工地解决方案,java智慧工地程序代码
智慧工地系统融合物联网、AI、大数据等技术,实现对施工现场“人、机、料、法、环”的全面智能监控与管理,提升安全、效率与决策水平。
299 2
|
9月前
|
安全 Java
Java异常处理:程序世界的“交通规则
Java异常处理:程序世界的“交通规则
403 98
|
10月前
|
存储 Java 编译器
对比Java学习Go——程序结构与变量
本节对比了Java与Go语言的基础结构,包括“Hello, World!”程序、代码组织方式、入口函数定义、基本数据类型及变量声明方式。Java强调严格的面向对象结构,所有代码需置于类中,入口方法需严格符合`public static void main(String[] args)`格式;而Go语言结构更简洁,使用包和函数组织代码,入口函数为`func main()`。两种语言在变量声明、常量定义、类型系统等方面也存在显著差异,体现了各自的设计哲学。
347 0
|
Java C语言
课时8:Java程序基本概念(标识符与关键字)
课时8介绍Java程序中的标识符与关键字。标识符由字母、数字、下划线和美元符号组成,不能以数字开头且不能使用Java保留字。建议使用有意义的命名,如student_name、age。关键字是特殊标记,如蓝色字体所示。未使用的关键字有goto、const;特殊单词null、true、false不算关键字。JDK1.4后新增assert,JDK1.5后新增enum。
288 4
|
Java 编译器
课时7:Java程序基本概念(注释)
课时7介绍了Java程序中的注释。编程语言有其语法和语义,注释有助于理解代码需求,防止断档。Java支持三类注释:单行(//)、多行(/* */)和文档注释(/** */)。注释不会被编译器编译。范例中展示了如何在代码中使用注释,并强调了注释对项目文档管理的重要性。
353 3
|
搜索推荐 Java Android开发
课时146:使用JDT开发Java程序
在 Eclipse 之中提供有 JDT环境可以实现java 程序的开发,下面就通过一些功能进行演示。 项目开发流程
496 0
|
传感器 安全 算法
消防救援支队消防员单兵装备智能养护舱电机驱动java版程序(二)
本文探讨消防救援中智能养护舱电机驱动的Java程序设计,作为系列文章第二部分。通过自动化和智能化手段,智能养护舱提升了装备维护效率与准确性。文章详细介绍了电机驱动模块的设计与实现,包括硬件选型、PID控制策略、安全保护机制及Java程序架构,确保电机精确控制、稳定性和安全性。未来将优化功能并引入智能算法和物联网技术,进一步提升装备维护智能化水平。
|
存储 Java 数据库连接
【YashanDB知识库】Java程序调用存储过程,在提取clob时报YAS-00004
【YashanDB知识库】Java程序调用存储过程,在提取clob时报YAS-00004
|
Java 开发工具
课时5:第一个Java程序
课时5介绍了编写第一个Java程序的步骤,包括创建Hello.java文件、编写“Hello World”代码、编译和运行程序。主要内容有:1) 新建并编辑Hello.java;2) 编译Java源文件生成.class文件;3) 通过命令行解释执行Java程序;4) 解释主方法的作用及信息输出操作。本课强调了类定义、文件命名规则和基本程序结构的重要性,并建议初学者使用记事本编写代码以熟悉基础语法。
336 0