1.编写定义式就运行的函数
fun = function(){   
    alert(
"执行");   
}
();   
//alert(fun);   
  
fun 
= function(){   
    alert(
"执行");   
    
return "返回的是字符串";// 返回的是个字符串   
}
();   
//alert(fun)   


扩展:
if(!Person.extend){//若extend属性还未存在则执行里面的代码   
    Person.applay(Person,{   
        extend:
function(){   
            alert(
"定义时执行");   
            
return function(){   
                alert(
"hello");   
            }
   
        }
()// 注意这里加了一对(),表示在new一个Person对象的时候就会立即执行extend后面定义的方法,并且返回里面return的方法给extend属性,   
           //那么这样,extend就是一个方法类型的属性了   
    }
);   
}
   

匿名方法:
//先定义匿名方法,第一个括号对里的,必须要有这个括号对,之后第二个括号对用来执行这个匿名方法,如果这个匿名方法返回的是function,那么可以加第三个括号对。   
(function(){   
    alert(
"aa")   
    
return function(){   
        alert(
"bb");   
    }
   
}
)();// 输出结果:aa   
  
//带参数的匿名方法使用   
(function(a,b){   
    alert(a);   
    alert(b);   
    
return function(c){   
        alert(c);   
    }
   
}
)("匿名方法的第一个参数值","匿名方法的第二个参数值")("调用匿名方法执行后返回方法所需要的参数值");   
// 输出结果:匿名方法的第一个参数值,匿名方法的第二个参数值,调用匿名方法执行后返回方法所需要的参数值