87,989
社区成员
发帖
与我相关
我的任务
分享
// 声明一个全局对象RegisterNameSpace函数,参数为名称空间全路径,如"cnblogs.blog"
RegisterNameSpace = function (fullName) {
// 将命名空间切成N部分
var nsArray = fullName.split('.');
var strEval = "";
var strNS = "";
for (var i = 0; i < nsArray.length; i++) {
if (i != 0) {
strNS += ".";
}
strNS += nsArray[i];
// 依次创建构造命名空间对象(假如不存在的话)的语句
strEval += "if (typeof(" + strNS + ") == 'undefined') " + strNS + " = new Object();"
}
if (strEval != "") eval(strEval);
}
RegisterNameSpace("cnblogs.blog");
RegisterNameSpace("cnblogs.news");
RegisterNameSpace("cnblogs.group");
cnblogs.news.Article = function () {
var _this = this;
this.title = null;
this.content = null;
this.show = function () {
document.write("<h1>" + _this.title + "</h1>");
document.write("<p>" + _this.content + "</p>");
}
}
// 实例化一个对象
var article = new cnblogs.news.Article();
// 给对象的属性赋值
article.title = "这是文章标题";
article.content = "这是文章内容";
// 调用对象的方法
article.show();
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>javascript命名空间</title>
<script type="text/javascript">
var AjaxCenter = window.AjaxCenter || {};
AjaxCenter.Execute = function(str,parameter){
this.str = str;
this.parameter = parameter;
this.printInfo = function(){
alert(this.str+"->"+this.parameter);
}
}
</script>
</head>
<body>
<script type="text/javascript">
var t = new AjaxCenter.Execute("str1","parameter2");
t.printInfo();
</script>
</body>
</html>