js面向对象的问题,这样的语句是什么意思?
<script   type= "text/javascript ">  
 aa=(function   aaaaa(){ 
 alert( "hello "); 
 })(); 
  </script>     
 问题是:后面的()是什么意思? 
 我以为上面的代码等价于: 
 var   aa={ 
       aaaaa:function(){ 
       alert( 'hello '); 
       } 
 } 
 aa.aaaa(); 
 结果不是,因为: 
 aa=(function   aaaaa(){ 
 alert( "hello "); 
 })(); 
 aa.abc   =   function() 
 { 
 	alert( "wo "); 
 } 
 aa.abc(); 
 是错的, 
 而: 
 var   aa={ 
       aaaaa:function(){ 
       alert( 'hello '); 
       } 
 } 
 aa.abc   =   function() 
 { 
 	alert( "wo "); 
 } 
 aa.abc(); 
 则是正确的,说明两者并不想等,那么前面的等价代码是什么意思呢?
------解决方案--------------------学习……
------解决方案--------------------等价于: 
  <script type= "text/javascript ">  
 function aaaaa(){ 
 alert( "hello "); 
 }; 
 aaaaa(); 
  </script>  
 把对象句柄赋于aa再调用
------解决方案--------------------google js函数式编程
------解决方案--------------------最后的(),应该是等同于aaaaa的();