细说javascript函数从函数的构成开始 |
本文标签:javascript,函数 javascript函数是一个比较奇怪的东西,接触一段时间你就会犯迷糊,弄不明白它到底是什么了 。你是否会因为有的javascript函数没有名字而莫名其妙,是否会因为javascript函数的参数没有类型而抓狂,是否为javascript函数以表达式的形态存在而彻底崩溃 。正是因为有了这些烦恼才让javascript函数值得我们寻味,我想从函数的构成来细说函数,这听起来像是一句废话,讲任何东西当然是从构成去谈,但是由于javascript函数你确实捉摸不了它的形态,因此这里我是从一个标准函数的构成来细说 。 复制代码 代码如下: var f= function (x) {return x*x;}; alert( f(6) ); 以上例子就会在页面上弹出窗口显示36 2.参数 javascript函数的参数也比较神奇,调用javascript函数时如果填写的参数和函数定义的参数不一致(例如个数不一致),程序不会出错,有时甚至能调用成功,这对于java语言是无法想象的,但javascript函数可以做到 。例如上面的例子,我们这样调用: 复制代码 代码如下: alert(f(6,7)) 结果仍然是36 。虽然这样不会出错,但是我们仍然想函数被正确的调用,保证调用时和函数定义的参数数目一致 。通过Arguments对象可以获取函数调用者的参数数目 。修改上述代码 。 复制代码 代码如下: var f= function (x) { if(arguments.length>1) { return "out of range"; } else { return x*x; } }; alert( f(6,7) ); 处理获取函数调用者的参数数目,还可以获取到这些参数的值,将上述代码再进行一番修改: 复制代码 代码如下: var f= function (x) { if(arguments.length>1) { return arguments[0]*arguments[1]; 复制代码 代码如下: } else { return x*x; } }; alert( f(6,7) ); 你能猜出结果是多少吗?对,是42 。 |