下面说的是我的JS开发的一种写代码方式,个人比较喜欢C#的风格。所以尽量的去模仿C#的编码方式,可能大家各有喜好,支持的也请顶下!^_^

 

    首先是代码底层部分:

 

var jmz = {};                           //全部代码的存放对象
jmz.demo = {};                          //在jmz下引申出一个demo存放对象,
//以上两个就类似于.NET里面的NameSpace,下面的方法编写也模仿C#的编码方式
jmz.o = {};                             //用来存放全部的全局变量
 

    这里定义3个东西,所有的静态,方法及变量都从jmz下面引申出来。

  •     好处:不管你代码写的有多少行,全部只占用一个全局变量,这样你跟其他程序员合作是就不会有任何的变量名冲突。
  •     坏处:如果写到后面调用代码会过长,但也有个处理方式,这里提示下with这个。

    jmz.o是用来存放你要在网页中添加的全局变量,当然大家可以自由扩展优化,有好的点子希望能联系我共同探讨。

 

    接下来是两个典型例子,一个模拟C#静态方法,一个模拟C#的类。

 

  •     静态方法:

 

jmz.demo.HelloWorldA = function(str) {  //模拟C#的静态方法调用方式
alert(str);
}
 

    这个与原来的JS函数一摸一样,调用方式也类似于C#的静态调用方式。可用于一些非常常用的方法,比如获得对象,获得字符串长度,给对象添加事件等等。

 

  •     类写法:

 

jmz.demo.HelloWorldB = function() {
var _data = "";                     //类中的全局私有变量,前缀“_”来与方法内的变量进行区分
function Process(str) {             //类中的私有方法,私有方法编写方式头字母大写
if (str.length > 0) _data = str;
else return false;
return true;
}
function Show() {
alert(_data);
}
this.process = function(str) {       //类中的公共方法,供外部调用,头字母小写
return Process(str);
}
this.show = function() {
Show();
}
}

    这个类写法个人感觉还不错,自己给自己定义编写代码时候的规范用来区分私有方法与公共方法、私有变量与共有变量。

 

    好了上面的代码框架写完了,下面来个实际调用的吧!

 

jmz.Bind("load", function() {
jmz.demo.HelloWorldA("Chinajmz:HelloWorldA!");//静态方法调用
jmz.o.helloWorldB = new jmz.demo.HelloWorldB();//初始化类并存放到jmz.o的对象中
if (jmz.o.helloWorldB.process("Chinajmz:HelloWorldB!") == true) {//对象中公共方法调用
jmz.o.helloWorldB.show();
}
});
 

    此处用了我先前的JS事件绑定方法,有兴趣的可以去查看下。

    效果:

    image image

 

    PS:刚开始写博客,可能有些无厘头,还希望大家见谅,^_^。

    奇怪,用Windows Live Writer写出来预览效果跟博客园的不一样。。。怎么回事 T_T。。。

posted on 2009-06-20 11:25  Chinajmz  阅读(910)  评论(2)    收藏  举报