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>

 

posted @ 2013-09-21 16:54  fang_beny  阅读(354)  评论(0编辑  收藏  举报