函数是一系列过程的抽象。
~~~
//十进制转二进制
var D2B = function (num) {
var B = "";
do {
var rest = num % 2;
if (rest === 0) {
B = 0 + B;
}
else {
B = rest + B;
num = num - rest;
}
num = num / 2;
} while (num !== 0);
return B;
};
console.log(D2B(251));//11111011
~~~
使用函数,相当于执行抽象函数时所用的一系列过程。
~~~
var num = 251;
var B = "";
do {
var rest = num % 2;
if (rest === 0) {
B = 0 + B;
}
else {
B = rest + B;
num = num - rest;
}
num = num / 2;
} while (num !== 0);
console.log(B);//11111011
~~~
仅此而已。
# ES中的函数
ES中的函数由函数名,参数列表,函数体组成,在使用上有着几个约束:
* 能接受0至n个值作为参数,能求得0或1个值作为返回值。
* 函数内定义的变量,只能在该函数内生效。
* 执行函数时在函数内绑定this的引用。
* 执行函数时在函数内生成包含所有参数的arguments对象。
示例:
~~~
var func = function () {
return 2017;
};
var foo = function (f) {
console.dir(f());
};
foo(func);//打印2017
~~~