面向对象的JavaScript
来源:互联网 发布:nginx rewrite break 编辑:程序博客网 时间:2024/05/01 13:23
导读:
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);
本文转自
http://czhenq.cnblogs.com/archive/2006/03/25/358345.html
- 面向对象的javascript
- javascript的面向对象
- JavaScript的面向对象
- 面向对象的JavaScript
- Javascript的面向对象
- 面向对象的JavaScript
- 面向对象的JavaScript
- 面向对象的JavaScript
- 面向对象的Javascript
- 面向对象的JavaScript
- javascript的面向对象
- 面向对象的JavaScript
- JavaScript的面向对象
- 面向对象的JavaScript
- 面向对象的JavaScript
- 面向对象的JavaScript
- javascript的面向对象
- 面向对象的Javascript
- WIN32汇编基础
- ajax获取页面源代码(xmlhttp异步的例子)
- C# 枚举打印机
- wdfmgr.exe
- 机场那一刻的妙笔
- 面向对象的JavaScript
- JScript 学习笔记
- [ORACLE EBS]8. Purge Signon Audit Data Concurrent Program
- 受限环境下的Ruby On Rails程序优化
- 手机病毒是怎样发起攻击的
- Ajax请求时对Response中的中文内容进行Unicode编码转换
- abap--如何根据动态公式计算数据(增补),谢谢网友补充
- 中华民国国歌与国旗歌
- 判断字符串中的“1”和“0”