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 -  </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,"https://www.jb51.net/")+".js"; 
 x.open("GET", sNamespace+(bUseCache?"?x="+Math.random():""), false); 
 x.send(null); var code = x.responseText; 
 window[shortname]=window.eval(code); 
}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjdppj.html