var MessageBox=function(){
 var popDiv=function(){//创建持久背景对象
        $("body").prepend("<div id='_popdiv'>00</div>");
         var _popDiv=$("#_popdiv");
         return _popDiv;//返回背景对象
    }(),
         myfun=function(){
         var aa={"id":"100id"};
         return aa;
     }();
     return {
         "show":function()
         {
             alert(myfun.id);//正确,值为100id
             alert(popDiv.attr("id"));
        }
 }

 }();



popDiv为jquery对象,却显示未定义

 

解决:popDiv可能未能成功赋值,可能 $("body")当时还不能访问,popDiv就不是jquery对象。

   $(document).ready 后就能赋值,变量写成全局变量。