在了解C语言和Java的基础语法后,相信和我一样的许多朋友都会发现,一个小项目写下来最多的BUG就是传递参数的问题。

重温第二遍JS,深深的感受到JS的魅力————参数的传递

1、首先在JS中,一个函数中的参数,是以一个数组的形式存储和读取的,这个数组就是arguments,如:function a(b,c,d){........},我们该函数中,arguments[0]便是访问的函数a的第一个参数,再列举书上的一个经典例子,相信大家看完这个例子后便对JS函数中的参数传递刮目相看。

function doAdd(){
    if(argunments.length == 1){
          alert(argunments[0]+10);
    }else if(argunments.length == 2){
          alert(argunments[0]+argunments[1]);
    }
}

doAdd(10);             // 20
doAdd(30,20)          // 50

 

2、参数类型不限制,这里的不限制是指,在JS中,这定义五大基本数据类型(number、null、undefined、blooean、string)或引用类型(object)时,通过var进行声明,JS会根据你赋值的内容自动帮你判断你所定义的该变量的类型,所以你在传递参数时,函数里面的参数可以是任何类型,如:

function doAdd(a){
    // 这里的参数a可能是个数组,可能是个字符串,可能是个数字,还有可能是个对象
}

 

 注:在java中方法的重载是很重要的一个知识点,看了JS传递参数的机制后,相信也不难理解JS没有方法的重载了。

 

综上所述,个人感觉JS的语法魅力,在于更加随性,没有java和C语言那么多条条款款给束缚。