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);
}
})("匿名方法的第一个参数值","匿名方法的第二个参数值")("调用匿名方法执行后返回方法所需要的参数值");
// 输出结果:匿名方法的第一个参数值,匿名方法的第二个参数值,调用匿名方法执行后返回方法所需要的参数值