Javascript面向对象的几种代码实例(对象,继承,重用,委托,类,事件,枚举)
来源:互联网 发布:山东老年大学网络报名 编辑:程序博客网 时间:2024/05/21 21:01
JavaScript 是一种解释型的、基于对象的脚本语言。尽管与 C++、C# 这样成熟的面向对象的语言相比,JavaScript的功能要弱一些,但对于它的预期用途而言,JavaScript的功能已经足够大了。但是由于各种各样的原因,我们在实际进行开发的过程中往往忽略了他基于对象的这一特性,以至JavaScript编写的程序显的杂乱无章。这样不仅不易于观看,更不易于修改。今天就让我们来看看JavaScript基于对象的这一特性。
function DelegateObject()...{
var obj = new Object();
obj.value = "";
obj.FormatString = null;
obj.toString = function _toString()...{
if(obj.FormatString != null)
return this.FormatString(this.Value);
else
return this.Value;
}
return obj;
}
var obj = new DelegateObject();
委托:
function DelegateObject()...{
var obj = new Object();
obj.value = "";
obj.FormatString = null;
obj.toString = function _toString()...{
if(obj.FormatString != null)
return this.FormatString(this.Value);
else
return this.Value;
}
return obj;
}
function ConvertToString(value)...{
return "Result:" + value;
}
var obj = new DelegateObject();
obj.Value = "Hello World!";
obj.FormatString = ConvertToString;
document.write(obj.toString());
重写:
function DelegateObject()...{
var obj = new Object();
obj.toString = function _toString()...{
if(obj.FormatString != null)
return this.FormatString(this.Value);
else
return this.Value;
}
return obj;
}
继承:
function DelegateObject()...{
var obj = new Object();
obj.value = "";
obj.FormatString = null;
obj.toString = function _toString()...{
if(obj.FormatString != null)
return this.FormatString(this.Value);
else
return this.Value;
}
return obj;
}
function Class2()...{
var obj = new DelegateObject();
return obj;
}
function ConvertTOString(value)...{
return "Result:" + value;
}
var obj = new Class2();
obj.Value = "Hello World!";
obj.FormatString = ConvertTOString;
document.write(obj.toString());
事件:
function EventHandler()...{
var eventobj = new Object();
eventobj._eventHandler = null;
eventobj.Activate = function _activate()...{
if(eventobj._eventHandler != null)
eventobj._eventHandler();
}
eventobj.Add = function _add(eventHandler)...{
eventobj._eventHandler = EventHandler;
}
eventobj.Remove = function _remove()...{
eventobj._eventHandler = null;
}
return eventobj;
}
function mouseClick()...{
alert("Hello World!");
}
var obj = new EventHandler();
obj.Add(mouseClick());
obj.Activate();
枚举:
function _StatusList()...{
var object = new Object();
object.正常= "Normal";
object.删除= "Delete";
object.审核通过= "Auditing";
object.驳回 = "OverRule";
return object;
}
Object.prototype.StatusList = new _StatusList();
function TObject()...{
var obj = new Object();
obj.Type = "YiZhu";
obj.Status = Object.StatusList.审核通过;
}
alert(obj.Status);
var obj = new Object();
obj.value = "";
obj.FormatString = null;
obj.toString = function _toString()...{
if(obj.FormatString != null)
return this.FormatString(this.Value);
else
return this.Value;
}
return obj;
}
var obj = new DelegateObject();
委托:
function DelegateObject()...{
var obj = new Object();
obj.value = "";
obj.FormatString = null;
obj.toString = function _toString()...{
if(obj.FormatString != null)
return this.FormatString(this.Value);
else
return this.Value;
}
return obj;
}
function ConvertToString(value)...{
return "Result:" + value;
}
var obj = new DelegateObject();
obj.Value = "Hello World!";
obj.FormatString = ConvertToString;
document.write(obj.toString());
重写:
function DelegateObject()...{
var obj = new Object();
obj.toString = function _toString()...{
if(obj.FormatString != null)
return this.FormatString(this.Value);
else
return this.Value;
}
return obj;
}
继承:
function DelegateObject()...{
var obj = new Object();
obj.value = "";
obj.FormatString = null;
obj.toString = function _toString()...{
if(obj.FormatString != null)
return this.FormatString(this.Value);
else
return this.Value;
}
return obj;
}
function Class2()...{
var obj = new DelegateObject();
return obj;
}
function ConvertTOString(value)...{
return "Result:" + value;
}
var obj = new Class2();
obj.Value = "Hello World!";
obj.FormatString = ConvertTOString;
document.write(obj.toString());
事件:
function EventHandler()...{
var eventobj = new Object();
eventobj._eventHandler = null;
eventobj.Activate = function _activate()...{
if(eventobj._eventHandler != null)
eventobj._eventHandler();
}
eventobj.Add = function _add(eventHandler)...{
eventobj._eventHandler = EventHandler;
}
eventobj.Remove = function _remove()...{
eventobj._eventHandler = null;
}
return eventobj;
}
function mouseClick()...{
alert("Hello World!");
}
var obj = new EventHandler();
obj.Add(mouseClick());
obj.Activate();
枚举:
function _StatusList()...{
var object = new Object();
object.正常= "Normal";
object.删除= "Delete";
object.审核通过= "Auditing";
object.驳回 = "OverRule";
return object;
}
Object.prototype.StatusList = new _StatusList();
function TObject()...{
var obj = new Object();
obj.Type = "YiZhu";
obj.Status = Object.StatusList.审核通过;
}
alert(obj.Status);
- Javascript面向对象的几种代码实例(对象,继承,重用,委托,类,事件,枚举)
- [笔记]javascript面向对象 - 继承的几种模式
- javascript 对象继承的几种方式
- JavaScript面向对象的几种方式
- javascript面向对象(继承)
- 面向对象的委托和事件
- JavaScript对象之面向对象的三种继承方式
- JavaScript面向对象------继承
- JavaScript面向对象---继承
- javaScript 面向对象-继承
- JavaScript面向对象------继承
- javascript面向对象-继承
- JavaScript面向对象-继承
- javaScript面向对象-继承
- [笔记]javascript面向对象 - 创建对象的几种模式
- 面向对象的继承的实例
- javascript 面向对象基础(四)面向对象的继承
- js面向对象的继承实例-call
- Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案
- SIP初探
- Eval 函数
- 终于写好提取window字库的程序了
- ubuntu,fedora linux下EVA QQ因为验证码不能登录的折衷解决
- Javascript面向对象的几种代码实例(对象,继承,重用,委托,类,事件,枚举)
- 刘韧:关于史玉柱的九个故事
- SAP Payment Terms 收付款条件的设置
- 使用.NET语言开发Silverlight应用程序入门(三):画刷和变形
- javascript对象模型
- 在概念堆里理解什么是智能SOA
- getElementsByName和getElementById
- javascript继承模型
- Java 应用程序中的按值传递语义