Atlas学习手记(27):JavaScript面向对象的扩展(一):命名空间Namespace

Javascript中并没有空间、类、接口这些概念,Atlas对这些东西实现封装了,增强了JavaScript面向对象方面的能力,本文看一下如何使用命名空间。

 

主要内容

1.概述

2.完整示例

 

一.概述

Javascript中并没有空间、类、接口这些概念,Atlas对这些东西进行了封装,增强了JavaScript面向对象方面的能力,本文看一下如何使用命名空间。在使用命名空间时有两个方法是需要我们注意的。

registerNamespace:注册一个命名空间

registerClass:注册一个类到某个命名空间中

二.完整示例

1.新建一个Atlas Web Site后,添加一个Namespace.js的文件,在这里我们注册一个Demo的命名空间,并创建Person类,把它注册到Demo命名空间中,如下所示:

// JScript File

Type.registerNamespace(
"Demo");

Demo.Person 
= function(firstName, lastName, emailAddress) {

    
var _firstName = firstName;

    
var _lastName = lastName;

    
var _emailAddress = emailAddress;

    
this.getFirstName = function() {

        
return _firstName;

    }


    
this.getLastName = function() {

        
return _lastName;

    }


    
this.getName = function() {

        
return _firstName + ' ' + _lastName;

    }


    
this.dispose = function() {

        alert('bye ' 
+ this.getName());

    }


}


Demo.Person.registerClass('Demo.Person', 
null, Sys.IDisposable);

2.在ASPX页面中添加ScriptManager,这个总是不能少的:

<atlas:ScriptManager runat="server" ID="scriptManager" />

3.引入我们刚才创建的JS文件:

<script type="text/javascript" src="Namespace.js"></script>

4.现在就可以在前端脚本中调用了:

<script type="text/javascript" language="JavaScript">

function OnButton1Click() 

{

    
var testPerson = new Demo.Person('John', 'Smith', 'john.smith@example.com');

    alert(testPerson.getFirstName() 
+ " " + testPerson.getLastName() );

    
return false;

}


</script>

5.添加一个Button,在它的单击事件中来调用:

<div>

        This example and puts the Person class in the "Demo" namespace.

        
<br />

        
<br />

        
<input id="Button1" value="Create Demo.Person" type="button" onclick="return OnButton1Click()" />

</div>

看看上面编写的代码,是不是很有面向对象的感觉呢?编译运行:

单击按钮后:

完整示例下载:https://files.cnblogs.com/Terrylee/AtlasNamespaceDemo.rar
posted @   TerryLee  阅读(4574)  评论(9编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示