Posted in Javascript onJanuary 09, 2007
先看看使用页面是如何调用的。
<!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功能(有源码下载)
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@