函數是一系列過程的抽象。
~~~
//十進制轉二進制
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
~~~