JavaScript 04

                                                                                                                    js函数

什么是函数:

完成某一功能的代码段

可以重复执行的代码段

如何定义函数:

通过function关键字:
function 函数名称([参数,...]){
代码段;
return 返回值;
}

一般函数没有调用是不会执行的;函数如果是全局的,可以在函数申明之前进行调用,也可以在申明之后。

注意实行:

函数的规范:严格区分大小写;函数名重复会覆盖原来定义的函数。

函数的调用:

通过函数名称( )进行调用,如果有参数,传递相应的参数即可。

也可以通过window.函数名称( )进行调用

alert(calc(1,2));
alert(window.calc(3,5)); 通过window来调用函数;

function calc1(num1=1,num2=2){
return num1+num2;
}

定义函数的两个参数为num1 ,num2;默认值为1和2,当默认没有值得情况下,实参来给行参赋值,实参来决定函数的长度,

查询长度的函数:arguments.length;(arguments对象是传入参数的一个数组,它可以返回传入的参数:arguments[0]从零开始

alert是内置函数 类型属于undefined;

例子:

function calc(x,y){
//return arguments;
//alert(arguments[0]);
//alert(arguments.length);
x=arguments[0]?arguments[0]:0; //arguments转换成布尔类型 第一个判断为真假 为真输出第二个,为假输出第三个
y=arguments[1]?arguments[1]:0;
return x+y;
}
alert(calc()); 现在检查值为0,cala没有赋值,0+0=0;
alert(calc(1,2)); 赋值结果为3,

function test(){                                           //定义函数的名字
var paramsNum=arguments.length;//得到传入参数的个数
var sum=0;                                        //定义求和
for(var i=0;i<paramsNum;++i){            //当paramsnum等于获取的实参长度
sum+=arguments[i];                                       //输出为21
}
return sum;                                                 返回sum的值;
}
alert(test(1,2,3,4,5,6));                                //根据传入的值来逐个进行运算


function test1(){
var paramsNum=arguments.length;
var max=0;                                                           //最大值
for(var i=0;i<=paramsNum-1;i++){                       //argumenst[i]从零开始划分,检查参数长度时是从1开始
if(arguments[i]>max){
max=arguments[i];
}
}
return max;
}
alert(test1(123,3432,23456,445643));         //argumenst[0]/argumenst[1]/argumenst[2]/argumenst[3]

默认参数:

function calc4(x,y){
if(x===undefined){                                           //行参没有赋值为undefined;
x=0;
}
y=y===undefined?0:y;                                           //当Y等于undefined是输出0, y有值得时候输出y
return x+y;                                                            //返回的值给calc4 给上一级
}
//alert(calc4());
alert(calc4(1,2));

或一个为真他就为真 numl1为假 后面的值赋值给numl1;
  function calc1(num1,num2){
   num1=num1||1;      //num1没有赋值为undefined,转换成布尔类型为假   ,1 为真赋值给num1;
   num2=num2||2;
   return num1+num2;
// }
alert(calc1());

原文地址:https://www.cnblogs.com/lh0127/p/9541981.html