函数-function是Javascript非常重要的概念。
在写程序的时候,你会发现在程序的不同地方会书写相同的代码,这个时候就需要引入函数。
譬如求一个数字是不是素数,素数的定义如下:
素数是指一个数只能被1和本身整除。
我们就可以用前面的for和if语句来写一个函数。
函数的语法是这样:
function name(parameters)
{
...body...
}
name是函数的名字。
parameters是函数。
body表示函数里面的代码。
那么求一个数是不是素数的函数如下:
function isPrimer(a){
for(var i=1;i<a;i++) {
if(a%i==0) //如果可以整除
{
return false; //return也是一个语法,表示函数额返回值
}
}
return true;
}
定义完函数以后,我们就可以使用它(这段代码我们称为代码1):
function isPrimer(a){
for(var i=1;i<a;i++) {
if(a%i==0) //如果可以整除
{
return false; //return也是一个语法,表示函数额返回值
}
}
return true;
}
var a1=100
if(isPrimer(a1)){
console.log("这个数是素数:"+a1);
}else{
console.log("这个数不是素数:"+a1);
}
var b1=13
if(isPrimer(b1)){
console.log("这个数是素数:"+b1);
}else{
console.log("这个数不是素数:"+b1);
}
基于上面的代码,看到还是有些代码是重复,我们就可以再提取一个函数,这里名字叫PrintPrimer:
function PrintPrimer(a){
if(isPrimer(a)) {
console.log("这个数是素数:"+a);
} else {
console.log("这个数不是素数:"+a);
}
}
最后我们代码综合在一起,就变成了这样:
var a1=100;
var b1=13;
PrintPrimer(a1)PrintPrimer(b1)
最后是综合例子2:
function isPrimer(a){
for(var i=1;i<a;i++) {
if(a%i==0) //如果可以整除
{
return false; //return也是一个语法,表示函数额返回值
}
}
return true;
}
function PrintPrimer(a){
if(isPrimer(a)) {
console.log("这个数是素数:"+a);
} else {
console.log("这个数不是素数:"+a);
}
}
var a1=100;
var b1=13;
PrintPrimer(a1);PrintPrimer(b1);
我们看到PrintPrimer函数可以在内部调用isPrimer函数,而且更近一步,还可以调用自身,称为“递归”。
平日下面一个数字列表:
1 1 2 3 5 8 。。。。
这个数字列表的特别就是,第一和第二项为1,然后后面的数字是前面两个数字的和。
用Javascript怎么写这个功能呢?(代码4)
function fab(a){
if(a==1 || a==0) //调用自身的截止条件,如果不设置,容易出现问题。
return 1;
else {
return fab(a-1)+fab(a-2); //调用自身
}
}
var fab_5=fab(5)console.log("fab(5)="+fab_5)
好了,关于JavaScript的函数今天就到这里,请大家仔细体会。