使用函数创建JavaScript的类和对象
2014-01-08 15:22
141 查看
JavaScript的函数可以作为对象来使用。(发现{}对象竟然没没有prototype属性,之前怎么没注意到呢?,{}有属性__proto__)
比较Object.create()和new 函数
所以使用函数创建对象实例更划算
为什么使用Object.create不划算呢?
比较Object.create()和new 函数
/**使用函数创建类*/ function Class1() {} Class1.prototype.a = 100;//假如写Class1.a = 100;则最终a属性不会传递给新建对象 function T1() { new Class1(); } function T2() { Object.create(Class1); } /**函数执行times次的时间,默认100万次*/ function RunTime(func, times) { var t = new Date(), i = 0; times = times ? times: 1000000; while (i++<times) { func(); } return (new Date()).getTime() - t.getTime(); } console.log(RunTime(T1)); console.log(RunTime(T2));输出结果为:16 118
所以使用函数创建对象实例更划算
为什么使用Object.create不划算呢?
Object.create = function (o) { var F = function () {}; F.prototype = o; return new F(); };原来Object.create中除了创建新对象外还建立了一个临时函数。
相关文章推荐
- javascript 直接创建对象与间接创建对象 私有函数不能访问this变量 是否使用var声明变量几个问题探讨
- 源码-JavaScript&jQuery交互式前端开发-第3章-函数、方法与对象-使用字面量语法创建对象
- 源码-JavaScript&jQuery交互式前端开发-第3章-函数、方法与对象-使用构造函数语法创建对象
- javascript创建对象之函数构造模式和原型模式结合使用(四)
- javascript 中的 prototype和constructor属性的使用(constructor属性始终指向创建当前对象的构造函数,每个函数都有一个默认的属性prototype,而这个prototype的constructor默认指向这个函数)
- JavaScript对象创建的几种方式及使用方法
- JavaScript对象创建的几种方式及使用方法
- javascript中组合使用构造函数模式和原型模式创建对象
- javascript使用原型(prototype)方法创建对象
- JavaScript 学习_3.使用对象直接创建对象
- javascript中值传递,地址传递,引用传递的问题(使用js创建list对象时会用到)
- 在立即执行函数内组合使用构造函数模式和原型模式创建对象,实现模块化开发(以daterangepicker.js为例)
- [Effective JavaScript 笔记] 第13条:使用立即调用的函数表达式创建局部作用域
- 使用javascript创建表格对象
- javascript的函数、创建对象、封装、属性和方法、继承
- 前端进阶者(流水记)----创建和使用对象(用作对象的函数称为方法)
- javascript的函数、创建对象、封装、属性和方法、继承
- [Javascript]:JS创建对象方式、对象使用说明与常用内置对象总结
- JavaScript基础 使用new Date() 创建当前日期时间对象
- javascript 中使用变量存储的函数与不使用变量存储的函数的加载区别,以及其中this对象的区别