脚本中构建函数的三种方法:
var num = 10;
function fun(){
alert("我是自定义函数");
alert(num);
}
// fun(); 函数不调用,自己不执行
var fun1 = function(){
alert("直接量声明")
}
//fun1();
var fun2 = new Function("var a = 10; var b = 20; alert(a+b)");
fun2();
脚本中的特殊函数:
1、 匿名函数:没有名的函数
定义函数的一种方式:var 函数名 = function(){}
将匿名函数作为参数,传递给另一个函数.
将匿名函数用来完成一次性任务.
实例:
var add = "add";
var add = function(){
alert"this is function add.");
}
alert(add());
2 、回调函数:
将一个函数作为参数传递给另一个函数,而作为参数的函数,就叫做回调函数.
将一个匿名函数作为参数传递给另一个函数,而作为参数的匿名函数,就叫做匿名回调函数.
实例:
var one = function(){return 1;}
var two = function(){return 2;}
// 形参a, b是一个函数.
function fn(a, b){
return a() + b();
}
alert(fn(one, two));
// 将以上代码进行改写
alert(fn(function(){return 1;}, function(){return 2;}));
3、自调函数
什么是一次性:只能使用一次的.
一次性函数:
用来完成页面初始化工作的函数(不严格) onload=""
定义即调用的函数(不严格) function add(){}
语法规定只能使用一次的.
自调函数:
第一个小括号:封装 函数
第二个小括号:调用函数
实例:
(
function(str)
alert(str
}
)("hello ");
匿名自调:
(
function(){
alert("this is javascript.");
}
)();
4、
内部(私有)函数:
与Java中的内部类很相似.
好处:保证了私有性.
与局部变量的作用是一样的.
实例:
function fn(){
var a = "a";
function n(){
var b = "b";
alert(a);
alert(b);
}
n();
}
fn();
5 (了解)返回函数的函数(内部函数的一种特殊用法)
定义一个函数,可以执行两个逻辑体
/
function fn(){
var a = "a";
return function(){
return a;
}
}