JavaScript (函数的声明)
1、典型的函数声明
注:
1、会给函数指定一个名字,而2、则是创建一个匿名函数,然后将这个匿名
函数赋给一个变量;
1、会在代码执行以前被加载到作用域中,而2、则是在代码执行到那一行的
时候才会有定义(注意调用顺序)
参数传递要多加小心的。 false、0、null以及空字符串都被解析为else参数
JavaScript (回调函数)
回调函数是将一个方法对象A传递给另一个方法对象B,让后者在适当的时候执行A。回调函数
可以继续扩展一个函数的功能,可以是程序非常灵活。
1、回调不传参
2、回调传参
JavaScript (闭包)
闭包(Closure)可以用在许多地方。它的最大用处有两个,一个是可以读取函数内
部的变量,另一个就是让这些变量的值始终保持在内存中。
1、典型的函数声明
function HeartIsland(arguments){
// 内部逻辑
}
2、以变量形式声明
var HeartIsland = function(arguments){
// 内部逻辑
}
注:
1、会给函数指定一个名字,而2、则是创建一个匿名函数,然后将这个匿名
函数赋给一个变量;
1、会在代码执行以前被加载到作用域中,而2、则是在代码执行到那一行的
时候才会有定义(注意调用顺序)
参数传递要多加小心的。 false、0、null以及空字符串都被解析为else参数
JavaScript (a = a || null;//判断语句)
var test = function(a) {
a = c || null; // 就不用冗长的if else了,当a==c的时候则执行a = c语句,
return a;//当语句a!=c的时候则执行a=null;
}
JavaScript (回调函数)
回调函数是将一个方法对象A传递给另一个方法对象B,让后者在适当的时候执行A。回调函数
可以继续扩展一个函数的功能,可以是程序非常灵活。
1、回调不传参
/**
*将 var a = 10;...方法当做参数传递给var test = function (HeartIsland) {...方法中,函数声明请看本页顶端,
*通过回调函数来扩展一个函数的功能
*/
var test = function (HeartIsland) {
HeartIsland();
};
test(function() {
var a = 10;
var b = 1;
alert(a + b);
});
2、回调传参
/**
*将show(HeartIsland)方法经过get(show, 'js')传递到get(Rabbit, HeartIsland)方法中,
*通过回调函数来扩展一个函数的功能
*/
function show (HeartIsland) {//方法1
alert('HeartIsland=' + HeartIsland);
};
function get (Rabbit, HeartIsland) {
Rabbit(HeartIsland);
};
get(show, 'js');// get(方法1, 'js');
JavaScript (闭包)
闭包(Closure)可以用在许多地方。它的最大用处有两个,一个是可以读取函数内
部的变量,另一个就是让这些变量的值始终保持在内存中。
var HeartIsland = function () {
var info = 'hello';
var Rabbit = function () {
alert(info + 'Rabbit');
};
return Rabbit;
};
HeartIsland()();