一、匿名函数:
var A = function(a){
return a;
};
在JS中函数也是一种数据,既然函数与任何可以被赋值给变量的数据是一样的,那么它也可以被定义、删除、拷贝,以及当成参数传递给其它函数。
2、function apple(a,b){ //apple函数有a,b两个函数类型的参数,它会分别执行这两个参数指定的函数
return a+b;
}
function a(){
return 1;
}
function b(){
return 2;
}
最后输出为 3;
------------------------
也可以这样写:
function apple(
function () {
return 1;
},
function () {
return 2;
}
);
当我们讲函数A传递给函数B,并由B来执行A时,A就成了一个回调函数。
其意义在于节省变量名的使用、简化代码、提高性能。
3、
回调函数示例:
var i, myarr = [];
function abc(a, b, c) {
for (i = 0; i < 3; i++) {
myarr[i] = arguments[i] * 2;
}
return myarr; //返回一个数组
}
function bcd(h) {
return h + 1;
}
// 先是var arr = [];
arr = abc(10, 20, 30);
for (var i = 0; i < 3; i++) {
arr[i] = bcd(arr[i]) //然后用循环遍历出每个数组中的数,然后调用bcd()
}
-----------
可以换成:
function abc(a,b,c,someway){
var i, myarr = [];
function abc(a, b, c) {
for (i = 0; i < 3; i++) {
myarr[i] = someway(arguments[i] * 2);
}
return myarr; //返回一个数组
}
}
-----------
-----
4、 arguments是函数内建变量,每个函数中都能调用,可返回函数接收的所有参数。
5、内部函数,也叫私有函数。
function outer(a){
function inner(b){
return b+2;
}
return "hell world" +inner(a) // 调用内部函数
}
outer(1); //输出 hell world 3
inner(1); //输出 inner未定义,因为它是内部函数,在outer以外的地方不可见
6、返回函数的函数:
函数始终都会有一个返回值,所以这个值也有可能是一个函数。
fuction app(){
alert("WWW");
return function (){
alert("CCC");
};
}
var DDP = app();
DDP(); //输出 : WWW
CCC
7、内部函数可以访问的变量既可以来自它自身的作用域,也可以来自其“父级”的作用域。
其实可以这样理解一个最大的作用域:它里面包括各种全局变量和各种函数。而各个函数里面也各自有自己的作用域。
8、JavaScript 的内置parseInt() 函数 ,它有两个参数。
parseInt(string, radix) //radix 表示设定函数所期望的数字类型:十进制、十六进制、二进制等等。parseInt("10"); //返回 10 parseInt("19",10); //返回 19 (10+9) parseInt("11",2); //返回 3 (2+1) parseInt("17",8); //返回 15 (8+7) parseInt("1f",16); //返回 31 (16+15) parseInt(lel); //返回 NaN
parseInt() 函数可解析一个字符串,并返回一个整数。
9、变量,就是用来临时存储数据用的。