用JSON和Javscript的prototype来构建完善的Javascript面向对象表示法
上次发贴没能很好的总结Javascrip编写类的方法,这次总结了一下,感觉基本上还是较完善了
Javascript语言本身的特点,书写规范以及在面向对象方面的封装没有一个统一的格式,现在个人约定如下:
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
一 书写规范
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
命名空间、类、方法名称等都按照.NET的书写规范建议
首字母大写、每个单词首字母大写
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
二 用合适的命名空间来包装类
具体见代码:
Javascript语言本身的特点,书写规范以及在面向对象方面的封装没有一个统一的格式,现在个人约定如下:
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
具体见代码:
<script language="javascript">
//
// 用JSON和Javscript的prototype来构建完善的Javascript面向对象表示法[robin]
//
/*-----------------------------------------------------------------------
JavaScript静态类的表示法
-------------------------------------------------------------------*/
//namespace
var System = System? System : {};
//class
System.Random={
//public static
Next:function(imax)
{
//todo
}
};
//class
System.MessageBox=
{
Show:function(text)
{
alert(text);
},
Alert:function(text)
{}
};
//构造子命名空间
System.IO=System.IO?System.IO:{};
System.IO.File={
Exists:function(path)
{}
};
/*-------------------------------------------------------------------
Javascript普通类的表示法
-------------------------------------------------------------------*/
//构造函数
System.Person=function(name,sex)
{
this.Name=name;
this.Sex=sex;
}
//类方法的添加
System.Person.prototype={
GetName:function()
{
return this.Name;
},
GetSex:function()
{
return this.Sex;
}
}
//----------------test---------------------------------------------------//
var p=new System.Person('dd',1);
alert(p.GetName());
alert(p.GetSex());
/*-------------------------------------------------------------------------
保存文件的时候按照命名空间规范来保存 如 System.Net.js、System.Net.SOAP.js
只是静态类和普通类除了看原文档或者源代码外没有更好的表示方法
不过js本身没有像C#一样的开发工具,所以源代码加上完善的注释是非常必要的
*-------------------------------------------------------------------------*/
//
// 用JSON和Javscript的prototype来构建完善的Javascript面向对象表示法[robin]
//
/*-----------------------------------------------------------------------
JavaScript静态类的表示法
-------------------------------------------------------------------*/
//namespace
var System = System? System : {};
//class
System.Random={
//public static
Next:function(imax)
{
//todo
}
};
//class
System.MessageBox=
{
Show:function(text)
{
alert(text);
},
Alert:function(text)
{}
};
//构造子命名空间
System.IO=System.IO?System.IO:{};
System.IO.File={
Exists:function(path)
{}
};
/*-------------------------------------------------------------------
Javascript普通类的表示法
-------------------------------------------------------------------*/
//构造函数
System.Person=function(name,sex)
{
this.Name=name;
this.Sex=sex;
}
//类方法的添加
System.Person.prototype={
GetName:function()
{
return this.Name;
},
GetSex:function()
{
return this.Sex;
}
}
//----------------test---------------------------------------------------//
var p=new System.Person('dd',1);
alert(p.GetName());
alert(p.GetSex());
/*-------------------------------------------------------------------------
保存文件的时候按照命名空间规范来保存 如 System.Net.js、System.Net.SOAP.js
只是静态类和普通类除了看原文档或者源代码外没有更好的表示方法
不过js本身没有像C#一样的开发工具,所以源代码加上完善的注释是非常必要的
*-------------------------------------------------------------------------*/