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的();