先来介绍下对象创建的几种方法:
1. new 创建的方法
var stdClass = function(){};
var obj = new stdClass();
2. plain object 创建的方法
var obj = {};
3. new Object 创建的方法
var obj = new Object();
那么这三种方法的创建效率是怎么样的呢?
我们来做个实验吧,创建40000000个对象,测试下创建的时间.
测试浏览器 firefox 3.6.3
OS Kubuntu 9.04
1. 测试下new 的创建方法
<html>
<head></head>
<body>
</body>
<script type="text/javascript">
var num = 40000000;
var stdClass = function(){};
var start = new Date().getTime();
for(var i = 0; i<num ; i++){
tmp = new stdClass();
}
var end = new Date().getTime();
document.write("create "+ num + "objects with 'new Object' costs " + (end -start) + "MS");
</script>
</html>
这个测试的结果是
create 40000000objects with 'new Object' costs 7748MS
2. 测试plain object
<html>
<head></head>
<body>
</body>
<script type="text/javascript">
var num = 40000000;
var start = new Date().getTime();
for(var i = 0; i<num ; i++){
tmp = {};
}
var end = new Date().getTime();
document.write("create "+ num + "objects with '{}' costs "+(end -start) + "MS");
</script>
</html>
这个测试的结果
create 40000000objects with '{}' costs 7197MS
3. 测试 new Object
<html>
<head></head>
<body>
</body>
<script type="text/javascript">
var num = 40000000;
var start = new Date().getTime();
for(var i = 0; i<num ; i++){
tmp = new Object();
}
var end = new Date().getTime();
document.write("create "+ num + "objects with 'new Object()' costs "+(end -start) + "MS");
</script>
</html>
这个测试结果是
create 40000000objects with 'new Object()' costs 9299MS
结合上面的实验结果,我们可以初步下结论:
plain 对象创建的效率可以是最高的。
分享到:
相关推荐
### ATL揭秘之“对象创建”篇 当我们使用Visual C++的ATL框架创建了一个COM工程并实现了自己的COM对象,然后在另一个程序中通过`CoCreateInstance`调用这个COM对象时,你是否曾思考过这样的问题:我们知道COM对象是...
"易语言对象创建快捷方式"是一个关于如何使用易语言来创建桌面快捷方式的源码实例。 在Windows操作系统中,快捷方式是一个指向特定文件或程序的链接,它方便用户快速访问所需内容,而无需深入文件系统寻找。在编程...
### Unity中创建对象后在Scene中不可见的问题分析与解决 #### 问题描述 在Unity中,用户在创建了一系列地形、天空盒等景物后,加入了飞机作为漫游工具。然而,当飞机被添加到场景中后,在Scene视图中却无法看到飞机...
Java中创建对象主要有四种显式的方式,分别是使用new关键字、反射机制、克隆克隆方法...在实际开发中,选择合适的对象创建方式能够提高程序的效率和性能,同时也要注意对象创建过程中可能出现的内存泄漏和性能问题。
首先,我们来了解一下编译期的`String`对象创建,这通常与字符串字面量有关。在Java源代码中,当使用双引号定义一个字符串,例如`"hello"`,Java编译器会将这些字面量字符串存储在常量池中。这种方式创建的`String`...
本文将深入探讨如何创建和使用权限对象,并通过ABAP编程举例来展示其实现过程。 首先,创建一个权限对象需要在SAP的后台系统中进行。在交易代码SEAC(Authorization Objects Maintenance)中,你可以新建一个对象,...
在JavaScript中,创建类和对象是面向对象编程的基础。本文将详细介绍几种常见的创建对象的方法,包括它们的特点和优缺点。 5.1 工厂方法 工厂方法是一种创建对象的模式,通过一个函数来创建具有特定属性和行为的...
JavaScript是Web开发中的核心语言,其对象创建是编程过程中不可或缺的一部分。本文将详细介绍JavaScript中九种常见的对象创建方式,帮助开发者更好地理解和应用这些技术。 1. **标准创建对象模式**: 这是最基础的...
- 创建虚拟对象时,需要指定该对象的属性和方法,以便QTP能够正确地与之交互。 3. **维护虚拟对象**: - 随着应用的变化,原有的虚拟对象可能需要更新。比如,当应用中的UI元素发生更改时,相应的虚拟对象也需要...
根据给定的信息,本文将详细解释“无法从带有索引像素格式的图像创建 graphics 对象及水印”的问题,以及如何解决这个问题。 ### 一、理解 Graphics 对象 在.NET Framework 中,`Graphics` 类是 System.Drawing ...
本文将详细解析易语言中如何使用对象创建快捷方式。 首先,我们需要了解易语言中的“对象”概念。在面向对象编程中,对象是类的实例,它包含了数据(属性)和行为(方法)。在易语言中,我们可以创建特定的对象来...
下面将详细解释API、对象创建以及在易语言中如何实现这一过程。 API全称为应用程序编程接口,它是一组预先定义的函数、类、对象、常量和类型定义,开发者可以使用这些接口来构建自己的应用程序。API通常由操作系统...
在某些情况下,过度的临时对象创建会导致内存频繁分配和回收,从而影响程序的执行速度。例如,`String`类是Java中一个典型的例子,由于其不可变性,每次对`String`进行操作(如连接、截取等)都会生成新的对象。这在...
了解这些细节有助于优化代码性能,尤其是在处理大量对象创建的场景下。逃逸分析是现代JVM优化的重要手段之一,它可以有效提高程序运行效率,减少不必要的垃圾回收。开发者可以通过调整JVM参数来探索和利用这些优化...
Java 创建对象的四种方法 Java 语言中创建对象的四种方式是:用 new 语句创建对象、... Java 中创建对象的四种方法各有其特点和应用场景,我们需要根据实际情况选择合适的方法来创建对象,以提高开发效率和代码质量。
在IT行业中,Emit是一个非常重要的概念,尤其在JavaScript或TypeScript等动态语言中,它通常与事件处理和对象创建有关。在这个特定的场景中,"Emit实现从URL或者表单中创建对象"指的是利用Emit机制来解析URL或表单...
总的来说,理解Java中的对象创建、初始化和引用机制,以及类比的“句柄”概念,有助于开发者更好地管理内存,防止因误操作导致的空指针异常等问题,提高程序的健壮性和效率。在编写Java代码时,正确地使用和理解这些...
在编程中,我们可以使用new关键字创建对象指针来实现对象的动态分配和释放,可以避免内存碎片的出现,并且可以提高程序的效率和可靠性。例如,在dialog框类中,我们可以使用new关键字创建对象指针来创建一个非模式...
总之,Spring.Net教程中的对象创建部分是理解和使用Spring.Net的关键,它展示了如何通过不同的方式来实例化和管理对象,从而实现更健壮、可扩展的应用程序架构。无论是在小型项目还是大型企业级应用中,掌握这些技巧...