JS中简单的实现像C#中using功能(有源码下载)

  先看看使用页面是如何调用的。

  

复制代码 代码如下:
<!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);

  }

JS中简单的实现像C#中using功能(有源码下载)

   下载此文件