讨论javascript(一)工厂方式 js面象对象的定义方法
//60年代的汽车工厂
var ocar=new Object;
ocar.color="black";
ocar.doors=2;
ocar.pinpai="解放";
ocar.showPinpai=function()
{
alert(this.pinpai);//需要一个生产线,生产一个汽车,再生产下个汽车还需要建立新的生产线
}
//70年代的汽车工厂
function createcar()
{
var oTempCar=new Object;
oTempCar.color="black";
oTempCar.doors=4;
oTempCar.pinpai="桑塔纳";
oTempCar.showPinpai=function()
{
alert(this.pinpai);//方便生产,一个生产线,可以生产多个汽车
}
return oTempCar;
}
//80年代生产汽车
function createcar(sColor,iDoors,sPinpai)
{
var oTempCar=new Object;
oTempCar.color=sColor;
oTempCar.doors=iDoors;
oTempCar.pinpai=sPinpai;
oTempCar.showPinpai=function()
{
alert(this.pinpai);//方便生产,一次成型生产
}
return oTempCar;
}
//90年代生产汽车
function showPinpai()
{
alert(this.color);
}
function createcar(sColor,iDoors,sPinpai)
{
var oTempCar=new Object;
oTempCar.color=sColor;
oTempCar.doors=iDoors;
oTempCar.pinpai=sPinpai;
oTempCar.showPinpai=function()
return oTempCar;
}
var oBmw=createcar("black",4,"BMW");
oBmw.showColor();//一次成型+组装生产
相关推荐
-
JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】
本文实例讲述了JS常见创建类的方法.分享给大家供大家参考,具体如下: Javascript是一种基于对象的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有Class.(不过,ES6引入了Class这个概念,作为对象的模板.通过class关键字,可以定义类.ES6入门:http://es6.ruanyifeng.com/). 但是在项目开发中,经常用到JS面向对象开发,这就需要我们去用JS创建类,从而去实例化一些对象.接下来我们介绍一下在J
-
JS创建类和对象的两种不同方式
在JavaScript中, 当你定义了一个新的函数, 你实际上声明了一个新的类, 而这个函数本身就相当于类的构造函数.下面的代码向你展示了两种不同的方式来创建一个新的Person类, 而Person.prototype的定义也紧跟在函数定义之后. var Person = function(name) { // 一个匿名函数, 并将这个函数赋值给一个Person变量, 此时Person成为一个类 this.name = name; } function Person(name) { // 直接定
-
Javascript使用function创建类的两种方法(推荐)
1.使用function类 //myFunction.js var CMyFunc=function() { //类的公共方法,供外部调用 this.Func1=function() { var i=0; return i; } this.Func2=function() { _privateFunc(); } //类中的私有方法,供公共方法调用 function _privateFunc() { return 0; ] } CMyFunc myFunc=new CMyFunc(); 使用:其它
-
利用MS AJAX注册Javascript命名空间并创建类
一.为页面添加一个ScriptManager控件. 二.注册命名空间: Type.registerNamespace("Demo"); 三.为类添加构造函数.属性.方法. Demo.sample=function(){} 四.注册类. Demo.Person.registerClass('Demo.sample ', null, Sys.IDisposable); 下面是一个具体的实例: Namespace.js Type.registerNamespace("Demo&qu
-
JavaScript创建类/对象的几种方式概述及实例
在JS中,创建对象(Create Object)并不完全是我们时常说的创建类对象,JS中的对象强调的是一种复合类型,JS中创建对象及对对象的访问是极其灵活的. JS对象是一种复合类型,它允许你通过变量名存储和访问,换一种思路,对象是一个无序的属性集合,集合中的每一项都由名称和值组成(听起来是不是很像我们常听说的HASH表.字典.健/值对?),而其中的值类型可能是内置类型(如number,string),也可能是对象. 一.由一对大括号括起来 复制代码 代码如下: var emptyObj = {
-
JavaScript设计模式之工厂模式和构造器模式
什么是模式 前阵子准备期末考试,劳神又伤身的,实在闲不得空来更新文章,今天和大家说说javascript中的设计模式. 首先呢,我们需要知道的是:模式是一种可复用的解决方案,而反模式呢就是针对某个问题的不良解决方案. js反模式常见例子 1.向setTimeout和setInterval传递字符串,而不是函数,这会触发eval()的内部使用. 2.在全局上下文中定义大量的变量污染全局命名空间 3.修改Object类的原型 4.以内联形式使用js,嵌入在HTML文件中的js代码是无法包含在外部单元
-
javascript最常用与实用的创建类的代码
复制代码 代码如下: //以构造函数方式添加私有属性和方法 function Person(name, age, address) { this.name = name; this.age = age; this.address = address; } //以原型方式添加公有属性.方法 Person.prototype = { constructor: Person, showName: function () { alert(this.name + this.age + this.addre
-
javascript工厂方式定义对象
每一个函数对象都有一个length属性,表示该函数期望接收的参数个数. 复制代码 代码如下: <html> <head> <script type="text/javascript"> var add =function(num1,num2,num3){ alert(num1+num2+num3); } alert(add.length); </script> </head> <body> </bod
-
JavaScript中使用构造器创建对象无需new的情况说明
如下 复制代码 代码如下: function Person(name, age) { this.name = name; this.age = age; } var p = new Person('lily', 20); 发现某些库代码中创建正则对象的方式无需new,这让人感到奇怪.如下 复制代码 代码如下: var reg = RegExp('^he$'); 测试发现使用或不使用new,最后返回的都是正则对象,且typeof它们都是"object". 复制代码 代码如下: var r
-
JavaScript中创建类/对象的几种方法总结
在JS中,创建对象(Create Object)并不完全是我们时常说的创建类对象,JS中的对象强调的是一种复合类型,JS中创建对象及对对象的访问是极其灵活的. JS对象是一种复合类型,它允许你通过变量名存储和访问,换一种思路,对象是一个无序的属性集合,集合中的每一项都由名称和值组成(听起来是不是很像我们常听说的HASH表.字典.健/值对?),而其中的值类型可能是内置类型(如number,string),也可能是对象. 一.由一对大括号括起来 复制代码 代码如下: var emptyObj = {
-
javascript 混合的构造函数和原型方式,动态原型方式
我们日常JS编程中最常用的方式 有下面2种: 1.混合的构造函数和原型方式 (重点) 复制代码 代码如下: function car (sColor,iNumbers){ // 构造函数只用来定义对象的所有非函数属性,即对象的属性 this.color = sColor; this.numbers = iNumbers; this.dirvers = new Array ("Jone","Leon"); } car.prototype.showColor = fun
-
Javascript 创建类并动态添加属性及方法的简单实现
JavaScript 是一种很强的面向对象的语言,支持创建实例之后再添加属性和方法,虽然是小技巧,用的时候容易忘记,今天写了一个很小的例子,记录在这里,仅供参考. function MyClass() { //This function is same as a constructer alert("New Object Created"); } //Creating Object var MyObject = new MyClass (); NewObject.prototype =
随机推荐
- js实现简单数字变动效果
- swift学习文档(笔记)
- JavaScript ECMA-262-3 深入解析.第三章.this
- 批处理 Autorun 病毒清除工具
- windows服务器通过appcmd实现IIS备份、还原、查看的命令(适用IIS8之前版本)
- IOS UITableViewCell详解及按钮点击事件处理实例
- Asp.Net MVC4通过id更新表单内容的思路详解
- swift3.0键盘弹起遮挡输入框问题的解决方案
- JavaScript无阻塞加载和defer、async详解
- asp.net验证码图片生成示例
- MySQL 升级方法指南大全第1/5页
- Android 中三种启用线程的方法总结
- 通过CSS Hack 区分 FF/IE7/IE6/IE5.5/IE5 代码推荐
- SQL服务器面临的危险和补救.读[十种方法]后感.
- C++友元函数与拷贝构造函数详解
- node.js学习之断言assert的使用示例
- 一步步解析Python斗牛游戏的概率
- PHP的array_diff()函数在处理大数组时的效率问题
- 用Python从0开始实现一个中文拼音输入法的思路详解
- 一个可以套路别人的python小程序实例代码