为什么JavaScript函数中的参数前面不能加var

首先这里是JavaScript的语法规则。

其次在调用function()函数的时候参数时外部传入的。在传入之前就已经被声明了。没必要在函数参数里声明。

如果想要在函数里用新的参数

function(参数)

{

  var 参数名/*创建局部变量*/

}

test函数里面的参数只要写好是什么名字,参数本身是外面传进来的,在()里面写,只是外部引用,在内部使用的时候重新命名而已。再加var的话就等于是重新定义了,和原来的“引用”的本意不符。 因为是弱类型,而函数调用的时候一定要指定类型调用。在弱类型下面,引用的话就可以继承原来被调用对象的类型。用C语言的解释就是,你如果被调用的对象是int a型,而你定义函数的时候用了(float a);那么必然报错。弱类型为了避免这类的错误就不能在函数里面写var。你如果知道你被调用的对象是什么类型,那么你可以在里面直接指定类型。但是不能用var这样不定的声明方式。

posted @ 2014-01-26 12:30  小菜鸟_code  阅读(1999)  评论(0编辑  收藏  举报