一段js代码的分析

 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.LoadedCommands
对于当前的名称空间,要获取下一级的对象可用this获得。第17,18行表明了这点。
2.对象的属性可以像数组那样访问,所以这就提供了一种动态的增加对象的属性的方法,利用这点可以实现哈希表的概念。第17行表明了这点。
3.对象的生成有三种方式一种是一些固有的对象如object ,Date,二是直接量,三是定义构造函数. 第6,7,8就用的是new object。
posted @ 2008-05-22 11:04  烈马狂生  阅读(179)  评论(0编辑  收藏  举报