function test(形参){//定义函数时的参数叫做形参,如字面意思形式上的参数并非真的是本身
alert(形参)
}
test(实参)//调用时给的参数称为实参 就是说真正的参数
想小学数学一样设一个未知数X 至于X到底为多少是我们给的算
在这里我在附张图 你参考理解
5个,这里没有什么疑问的!从形式上看很看是两个的,因为有二个为一组做为一个对象,有三个为一组做为一个对象,共有两个.所以应该说是两个,而从我的感觉当中这样是不对的,因为在JS中不存在(exp1,exp2)这样的定义方法,他不是{1,2}而是(1,2),而且()的做用除了VB中的索引外,在JS中只是改变了运算符的优先顺序,而这里改变的显然是,运算符的优选顺序,而,运算本身的优选顺序是自左向右,所以这里除了改变顺序达到一个特殊目的,但如果不考虑这个特殊目的,那么,加了括号跟不加是没有区别的.所以这里的参数是五个而不是两个!
当然你完全可以做一个验证:定义一个有五个形参的函数,然后加括号传值,看一下是否成功!
有以下区别:1、主体不同:实参在调用有参函数时,函数名后面括号中的参数为“实际参数”。形参不是实际存在变量,又称虚拟变量。
2、目的不同:实参可以是常量、变量或表达式,无论实参是何种类型的量,在进行函数调用时,都必须具有确定的值,以便把这些值传送给形参。
需要注意当形参和实参不是指针类型时,在该函数运行时,形参和实参是不同的变量,他们在内存中位于不同的位置,形参将实参的内容复制一份,在该函数运行结束的时候形参被释放,而实参内容不会改变。