1
<
html
>
2 < head >
3 < / head>
4 < body >
5 < script >
6 var elong = new Object();
7 var elongCommands = elong.Commands = new Object() ;
8 elongCommands.LoadedCommands = new Object() ;
9
10 elongCommands.alertaa = function (xx)
11 {
12 alert(xx);
13 }
14
15 elongCommands.RegisterCommand = function ( commandName, command )
16 {
17 this .LoadedCommands[ commandName ] = command ;
18 this .alertaa( this .LoadedCommands[ commandName ]);
19 }
20
21 elongCommands.RegisterCommand( 1 , " 22 " );
22 < / script>
23 < / body>
24 < / html>
1.js中也可以有类似名称空间的想法。第6,7,8行。其实就是3个名称空间:elong
elong.Commands elong.Commands.LoadedCommands2 < head >
3 < / head>
4 < body >
5 < script >
6 var elong = new Object();
7 var elongCommands = elong.Commands = new Object() ;
8 elongCommands.LoadedCommands = new Object() ;
9
10 elongCommands.alertaa = function (xx)
11 {
12 alert(xx);
13 }
14
15 elongCommands.RegisterCommand = function ( commandName, command )
16 {
17 this .LoadedCommands[ commandName ] = command ;
18 this .alertaa( this .LoadedCommands[ commandName ]);
19 }
20
21 elongCommands.RegisterCommand( 1 , " 22 " );
22 < / script>
23 < / body>
24 < / html>
对于当前的名称空间,要获取下一级的对象可用this获得。第17,18行表明了这点。
2.对象的属性可以像数组那样访问,所以这就提供了一种动态的增加对象的属性的方法,利用这点可以实现哈希表的概念。第17行表明了这点。
3.对象的生成有三种方式一种是一些固有的对象如object ,Date,二是直接量,三是定义构造函数. 第6,7,8就用的是new object。