/* 各种方式new实例化对象的测试比较 */ //方式一:Public方式一,在类里面声明public方法和属性 var myClassPublicStyle1 = function(){ this.name = "supersha"; this.age = 24; this.addAge = function(){ this.age++; } } //方式二:public方式二,在类外面通过prototype来加载属性和方式 var myClassPublicStyle2 = function(){}; myClassPublicStyle2.prototype = { name: "supersha", age: 24, addAge: function(){ this.age++; } } //方式三:private的方式,使用私有属性和特权方法的方式 var myClassPrivate = function(){ var name = "supersha"; var age = 24; this.addAge = function(){ age++; return age; } } //方式四:这种方式是混合模式吧,返回对象 var myClassSpecialObject = function(){ var name = "supersha"; var age = 24; var addAge = function(){ age++; } return { name: name, age: age, addAge: addAge } } //方式五:这种方式也是混合模式吧,返回实例对象 var myClassSpecialFunction = function(){ var name = "supersha"; var age = 24; var addAge = function(){ age++; } return new function(){ this.name=name; this.age=age; this.taddAge=addAge } } function myTime(){ var time1; var time2; this.setTime1 = function(time){ time1 = time.getTime(); } this.setTime2 = function(time){ time2 = time.getTime(); } this.showTime = function(){ return time2-time1; } } var message = ""; var aa = new myTime(); //----------------------------------- message="myClassPublicStyle1() //Public方式一,在类里面声明public方法和属性 耗时\n "; aa.setTime1(new Date()); for (var i = 0; i < 10000; i++) { var pub = new myClassPublicStyle1(); } aa.setTime2(new Date()); message +=aa.showTime()+" \n"; //----------------------------------- //----------------------------------- message +="myClassPublicStyle2()// public方式二,在类外面通过prototype来加载属性和方式 耗时\n "; aa.setTime1(new Date()); for (var i = 0; i < 10000; i++) { var pub = new myClassPublicStyle2(); } aa.setTime2(new Date()); message +=aa.showTime()+" \n"; //----------------------------------- //----------------------------------- message +="myClassPrivate() //private的方式,使用私有属性和特权方法的方式 耗时\n "; aa.setTime1(new Date()); for (var i = 0; i < 10000; i++) { var pri = new myClassPrivate(); } aa.setTime2(new Date()); message +=aa.showTime()+" \n"; //----------------------------------- //----------------------------------- message +="myClassSpecialObject() //方式四:这种方式是混合模式吧,返回对象 耗时\n "; aa.setTime1(new Date()); for (var i = 0; i < 10000; i++) { var spe = new myClassSpecialObject(); } aa.setTime2(new Date()); message +=aa.showTime()+" \n"; //----------------------------------- //----------------------------------- message +="myClassSpecialFunction() //这种方式也是混合模式吧,返回实例对象 耗时\n "; aa.setTime1(new Date()); for (var i = 0; i < 10000; i++) { var spe = new myClassSpecialFunction(); } aa.setTime2(new Date()); message +=aa.showTime()+" \n"; //----------------------------------- alert(message);
发表评论
-
javascript中的this到底指什么?
2011-09-19 18:35 677JavaScript:this 是什么? 定义:this ... -
Javascript静态类数组与框架基本实现
2011-09-19 18:23 602先来讲讲静态类数组( ... -
JavaScript 常见对象类创建代码与优缺点分析
2011-09-19 17:32 681在Javascript中构建一个类有好几种方法: 1.Fa ... -
不错的JavaScript面向对象的简单入门介绍
2011-09-19 17:22 6941) 如何创建对象: 1. 使用constructor,例如: ... -
javascript实现面向对象类的功能书写技巧
2011-09-19 17:02 647学过java,c#,vb的都知道类的概念,而类具有继承、封装、 ... -
javascript来定义类的规范小结
2011-09-19 16:45 595javascript来定义类的规范小结使用javascript ... -
详解new function(){}和function(){}() 区别分析
2011-09-19 16:37 646情景一: var yx01 = new function() ... -
JS 面向对象的5钟写法
2011-09-19 16:23 616Java代码 复制代码 代码如下: //第1种写法 ... -
JavaScript 三种创建对象的方法
2011-09-19 15:32 588JavaScript中对象的创建有以下几种方式: (1)使 ... -
Javascript面向对象编程(三) 非构造函数的继承
2011-09-19 15:28 507这个系列的第一部分介绍了"封装",第二部分 ... -
Javascript面向对象编程(二) 构造函数的继承
2011-09-19 15:27 734这个系列的第一部分,主要介绍了如何"封装" ... -
JavaScript定义类或函数的几种方式小结
2011-09-19 10:14 552js中不论是定义类或者 ... -
Js构造函数&工厂函数
2011-09-19 09:58 1031//1,工厂函数&构造函数 //例1。 / ... -
JS的构造函数
2011-09-19 09:05 8651 //构造函数 2 //使自 ... -
评论这张
2011-09-08 18:00 576JavaScript兼容性一直是Web ... -
javascript浏览器兼容的实现
2011-09-08 17:54 334javascript部分 1. document.form. ...
相关推荐
2. 使用IE运行context applying.html文档,然后查看源代码,注意观看怎样使用JSON来定义类并且实例化var obj对象的,与第一个例子比较,这是第二种JS的面向对象的写法,该写法出自于为适应下一代开发语言Ruby而制定...
其中,在extend中的data和vue实例化对象中的data写法不一样。下面利用实例说明,操作如下: 第一步,创建一个静态页面并引入vue.js文件,并在主体元素标签中插入一个div,设置id属性,如下图所示: 第二步,在...
前言类与实例:类的声明生成实例类与继承:如何实现继承:继承的本质就是原型链继承的几种方式类的定义、实例化类的定义/类的声明方式一:用构造函数模拟类(传统写法)/
前言类与实例:类的声明生成实例类与继承:如何实现继承:继承的本质就是原型链继承的几种方式类的定义、实例化类的定义/类的声明方式一:用构造函数模拟类(传统写法)/
1.将该实例复制到C:\Inetpub\wwwroot下; 2.选择浏览器的“工具”-“安全”-“本地Intranet”-“自定义级别”-“活动脚本”中选用“禁用”单选框 3.在浏览器中输入下述地址:http://localhost/1.2.htm • ...
单体是一个用来划分命名空间并将一些相关的属性与方法组织在一起的对象,如果她可以被实例化的话,那她只能被实例化一次(她只能嫁一次,不能二婚)。 单体模式是javascript里面最基本但也是最有用的模式之一。 ...
• 1.3.js 1.3.htm使用的外部JavaScript文件 第2章(\第2章) • 2.1.htm Infinity应用 • 2.2.htm NaN与isNaN()的用法 • 2.3.htm Infinity值的用法 • 2.4.htm 转义字符的使用 ...
在我的上一篇文章里面 阐述了jQuery的大致框架,知道了所有代码都是写在了一个自调用匿名函数里面,并且传入了window对象,源码是这样的: ...其实jQuery是面向对象js库,也有构造函数,每次调用jQuery方法是就会实例化
第二节 引包、留坑、实例化 、插值表达式{{}} 5 1. 引包 5 2. 留坑 5 3. 实例化 5 4. 插值表达式{{ }} 5 第三节 熟悉及使用常用指令 5 1. 什么是指令 5 2. 常用的指令有哪些,及怎么使用这些指令 6 第四节 阐述vue单...
仅仅通过反射方法没有办法知道集合元素中的类型,所以上面的两个converter能将任何集合转换成相对javascript而言有意义的对象.然而没有办法将不同的集合类类型分别采用不同的转换方法.因为没有办法完全自动进行转换,...
|--内容提供者之短信的序列化对象读写 |--内容提供者之短信的获取与写入 |--内容提供者之联系人读写与批量操作 |--内容提供者之获取通话记录 |--内容提供者的定义 |--写入联系人信息 |--利用FinalHttp实现多线程断点...
// 实例化一个Random对象 Font mFont = new Font("华文宋体", Font.BOLD, 30); // 通过Font构造字体 g.setColor(getRandColor(200, 250)); // 改变图形的当前颜色为随机生成的颜色 g.fillRect(0, 0, width, ...
面向对象的思想方法已经非常流行了,在编程语言(例如java,js)中,都运用面向对象的编程思想。在XML中,就是要将网页也作为一个对象来操作和控制,我们可以建立自己的对象和模板。与对象进行交流,如何命令对象,...
也谈 ASP.NET 1.1 中 QueryString 的安全获取写法 ASP.NET运行模式:PageHandlerFactory 利用搜索引擎引用来高亮页面关键字 网站首页的自动语言切换 应用系统的多语言支持 (一) 应用系统的多语言支持 (二) 自动...
书名:jQuery权威指南(系统介绍jQuery方方面面,囊括118个实例和2个综合案例,实战性强) 作者:陶国荣 著 书号:978-7-111-32543-7 定价:59.00元 出版社:机械工业出版社华章公司 出版时间:2011年1月 编辑推荐:...
$.ajax()函数需要一个参数,一个包含有键/值对的对象,用于初始化并操作请求对象。 在jQuery 1.2版本中,如果你指明了一个JSONP回调函数,你就可以从其它的域中载入JSON类型的数据,写法类似于 "myurl?...
ES6的Class只是面向对象编程的语法糖,升级了ES5的构造函数的原型链继承的写法,并没有解决模块化问题。Module功能就是为了解决这个问题而提出的。 历史上,JavaScript一直没有模块(module)体系,无法将一个大程序...
{7.12}对象序列化}{117}{section.7.12} {8}多线程}{121}{chapter.8} {8.1}线程的常用属性与方法}{121}{section.8.1} {8.2}后台线程}{123}{section.8.2} {8.3}创建线程的两种方法}{123}{section.8.3} {8.4}...
2、修正“目录_复制”在线程未初始化,导致对象不能创建的问题,感谢易友【@pp25729391】反馈。 3、修正“类_环境存取->读环境变量”不能读取当前进程环境变量的BUG,感谢易友【@詠不言敗】反馈。 4、修正“文本_...