网络编程 
首页 > 网络编程 > 浏览文章

javascript 类和命名空间的模拟代码

(编辑:jimmy 日期: 2025/5/13 浏览:3 次 )
先上一段最简单的:
复制代码 代码如下:
// 以下几行代码展示了命名空间、类、以及函数的模拟定义和使用:
NameSpace = {};
NameSpace.Class = function(){
this.Method = function(info){alert(info);}
};
new NameSpace.Class().Method("Hello world");

再来一些可见到的,各种情况的代码
1.类的模拟
复制代码 代码如下:
// 类定义
function Class(info){
// 私有成员
var privateData = "private data";
var privateMethod = function(){writeline("private");};
function privateMethod2(info){writeline("private");}
// 公有成员(使用this)
this.Data = "public data";
this.Method = function(){writeline(info);};
};
// 类的静态成员
Class.StaticData = "static data";
Class.StaticMethod = function(info){writeline(info);};


2.命名空间的模拟
复制代码 代码如下:
function NameSpace(){}
或者
NameSpace = {};
或者
NameSpace = new Object();

3.目标:创建类实例,并调用实例方法
复制代码 代码如下:
var o = new NameSpace.Class("hello world");
o.Method();
// 使用已有的类定义,并用静态方法挂到NameSpace下
NameSpace.Class1 = Class;
new NameSpace.Class1("new NameSpace.Class1().Method()").Method();
// 或者:新建类定义
NameSpace.Class2 = function(info){
this.Method = function(){writeline(info);};
};
new NameSpace.Class2("new NameSpace.Class2().Method()").Method();


4.目标:调用类的静态函数
复制代码 代码如下:
NameSpace.Class.StaticMethod();
// 静态对象+静态方法
NameSpace.Class3 = {}; // {}表示这是一个对象,或者用new object();
NameSpace.Class3.Method = function(info) {writeline(info);};
NameSpace.Class3.Method("NameSpace.Class3.Method()");
// 或者:new一个对象赋予静态成员
NameSpace.Class4 = new Class("NameSpace.Class4.Method()");
NameSpace.Class4.Method();
// 或者:匿名函数用于定义类,再用new创建对象
NameSpace.Class5 = new (function(info){
this.Method = function(){writeline(info);};
})("NameSpace.Class5.Method()");
NameSpace.Class5.Method();
// 或者:JSON方式(类定义+创建同时完成)
// 优点是简单,缺点是不能传递参数进去
NameSpace.Class6 = {
Method : function(info){writeline(info);}
};
NameSpace.Class6.Method("NameSpace.Class6.Method()");

演示代码:

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
ps.很开心,vs2010对js的智能感知越来越好用了:p
出处:http://surfsky.cnblogs.com
上一篇:jquery判断checkbox(复选框)是否被选中的代码
下一篇:jQuery下扩展插件和拓展函数的写法(匿名函数使用的典型例子)
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap