JavaScript创建命名空间、类及类成员
JavaScript代码:
//为String对象增加方法isNullOrEmpty String.isNullOrEmpty = function (a) { if (a != null && a != "" && a != "undefined") return false; return true; } //为window/function增加方法usingNamespace window.usingNamespace = Function.usingNamespace = function (a) { var ro = window; if (String.isNullOrEmpty(a)) { return ro; }; var co = ro; var nsp = a.split("."); for (var i = 0; i < nsp.length; i++) { var cp = nsp[i]; if (!ro[cp]) { ro[cp] = {}; }; co = ro = ro[cp]; }; return co; }; //创建命名空间"sss.bbb" //创建类aaa //创建类成员 msg,name,school,todo() usingNamespace("sss.bbb")["aaa"] = { msg: "你来晚了", name: "刘德华", school: "中央党校", todo: function () { alert(this.name+","+this.msg+"! 你被"+this.school+"开除了! "); } }
HTML代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script type="text/javascript" src="myJS.js"></script> </head> <body> <form name="MyForm"> <input type="button" name="MyButton" value="Click me!" onclick="alert(sss.bbb.aaa.msg);" /><br /> <input type="button" name="MyButton" value="Click me!" onclick="alert(sss.bbb.aaa.name);" /><br /> <input type="button" name="MyButton" value="Click me!" onclick="sss.bbb.aaa.todo()" /><br /> </form> </body> </html>