惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recorded Future
Recorded Future
S
Secure Thoughts
D
Docker
The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
D
DataBreaches.Net
F
Fortinet All Blogs
月光博客
月光博客
S
Security @ Cisco Blogs
AI
AI
IT之家
IT之家
P
Proofpoint News Feed
Stack Overflow Blog
Stack Overflow Blog
大猫的无限游戏
大猫的无限游戏
N
News and Events Feed by Topic
Hacker News: Ask HN
Hacker News: Ask HN
人人都是产品经理
人人都是产品经理
Recent Announcements
Recent Announcements
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Google Online Security Blog
Google Online Security Blog
K
Kaspersky official blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
P
Proofpoint News Feed
Latest news
Latest news
Webroot Blog
Webroot Blog
GbyAI
GbyAI
L
Lohrmann on Cybersecurity
T
Threat Research - Cisco Blogs
S
Schneier on Security
G
Google Developers Blog
N
News | PayPal Newsroom
C
Check Point Blog
T
Tenable Blog
L
LINUX DO - 最新话题
C
CERT Recently Published Vulnerability Notes
T
Troy Hunt's Blog
Know Your Adversary
Know Your Adversary
SecWiki News
SecWiki News
TaoSecurity Blog
TaoSecurity Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
爱范儿
爱范儿
W
WeLiveSecurity
Project Zero
Project Zero
M
MIT News - Artificial intelligence
H
Hacker News: Front Page
Apple Machine Learning Research
Apple Machine Learning Research
V
V2EX
C
Cyber Attacks, Cyber Crime and Cyber Security

博客园 - 烈马狂生

.net dll热插拔 收藏javascript 收藏flex开发 静态类 .net中简单的记录日志的办法 程序post - 烈马狂生 - 博客园 webservice调用的两种方法 virtual pc .netframework中的集合 Com Com+ .Net SSL和Https 关于高安全性的webservice处理 css总结 项目开发所需文档 [转]sql优化 在“运行”中常执行的命令。 软件开发分析的步骤 FCKeditor json
一段js代码的分析
烈马狂生 · 2008-05-22 · via 博客园 - 烈马狂生

 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。