先看看使用页面是如何调用的。 复制代码 代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> neverModules Using Function - http://www.never-online.net </title> <meta http-equiv="ImageToolbar" content="no" /> <meta name="author" content="never-online, BlueDestiny"/> <meta name="keywords" content="never modules, Mozilla CSS, C#, .net, Reference, BlueDestiny, never-online"/> <meta name="description" content="javascript reference, c sharp artilces"/> <meta name="creator.name" content="never-online, BlueDestiny" /> <style type="text/css" media="all" title="Default"> body { font:9pt "Verdana"; } </style> <script type="text/javascript" src="System/system.js"></script> <script type="text/javascript"> //<![CDATA[ Using("System.Utils.Jsclass"); var jsclass = new Jsclass(); jsclass.toString(); //]]> </script> </head> <body id="www.never-online.net"> <p align="center">Power By never-online</a> </body> </html> 再看看System.Utils.Jsclass这个命名空间是如何的。 var System = {}; System.Utils = {}; System.Utils.Jsclass = function() { this.name = "jsclass"; this.functions = "Using function test."; System.Utils.Jsclass.prototype.toString = function() { document.write(this.functions); } } 接下来就是主要的Using这个函数了 var Using = function (sNamespace, bUseCache) { bUseCache = bUseCache===true; var x=!!document.all?new ActiveXObject("MSXML2.XMLHTTP"):new XMLHttpRequest(); var shortname = sNamespace.substring(sNamespace.lastIndexOf(".")+1); sNamespace = sNamespace.replace(/./g,"/")+".js"; x.open("GET", sNamespace+(bUseCache?"?x="+Math.random():""), false); x.send(null); var code = x.responseText; window[shortname]=window.eval(code); } 下载此文件
推荐阅读
关于Javascript 的 prototype问题。
prototype 1、 prototype是与Clone联系起来的, 也就是说,当创建实例时,prototype会把成员clone到该Class(function)的实例上。 Detail: 最常见的几个内置内对象里的prototype,如:Array原型有join, split方法, >>>详细阅读
本文标题:JS中简单的实现像C#中using功能(有源码下载)
地址:http://www.17bianji.com/kaifa2/JS/31159.html
1/2 1