标签:style blog http color io 使用 ar java for
在JS中函数在使用时实质上和我们平时学习的编程语言中的函数类似,它同样也具有函数名,参数,返回值,函数体等这些平常函数所具有的内容。但是作为一种脚本语言,它确实也有自己不一样的地方。
<span style="font-size:18px;">function box(){ //利用function关键字进行声明+函数名+(可添加参数)+{具体执行内容,可包括返回值} return 'hello!'; }</span>
在这里,我们需要知道的是,box后面的()具有执行该函数的功能,同时可用来进行传参。
如果我们在JS中直接调用alert(box),那么结果会显示如下图:因为没有加(),所以它没有执行。只有在加了()后,才会正常显示‘hello!‘ (这里匿名函数中会用到)
JS函数中用到一个arguments对象,可以实现动态传参,使得函数在传参时,并不介意有多少参数!
function box(){ //这里并没有传递参数 return arguments[0]+arguments[1]+arguments[2]; //这里代表第几个参数 } alert(box('大家','国庆节','快乐!'));
如果调用它的长度,会发现:长度为3,即参数的个数。
function box(){ return arguments.length; }但是出现了一个问题,这里并没有实现动态传参啊,只是参数一一对应而已,没错,其实,arguments对象只能识别它自己事先定义好的个数的参数,如果外界传进来的参数不足,那么自动以undefined代替,如果传进来参数超出本身所定义的个数,那么,他会将多余的自动抹去,不会显示!
function box() { var sum = 0; if (arguments.length == 0) return sum; for(var i=0;i<arguments.length;i++) { sum += arguments[i]; } return sum; }这样,我们如果调用函数alert(box(3,4,5,6,7,8,9)),无论加多少都可以得到想要的答案了。在这里需要注意的是,如果存在string格式的那么数字也会被当成字符串来处理,这时候‘+’会被当成&连字符来处理。
JS中函数还支持无名英雄,在声明函数时,没有函数名称的函数称为匿名函数(跟匿名信一个道理)。
function (){ return 'hello!'; }
匿名函数的执行方法:
var box=function(){ return 'lee'; } alert(box());
在创建时,提到了()代表执行,在匿名函数中也是一样。
(function(){ alert( 'lee'); })()
<span style="font-size:18px;">//语法:(匿名函数)()第一个圆括号放匿名函数,第二个圆括号执行</span>这里的()使得页面在加载时,就可以直接执行JS中的匿名函数。不再需要赋值。
这里也是用到了()这个小知识,第二个()代表执行,同时他还可以进行传参,所以,我们还可以为匿名函数进行传参。
例如:
(function(age){ alert(age); }(100))其实,这里跟我们平时的函数原理是一样的。可以把前面整个匿名函数当成一个函数名,后面小括号进行传参和执行。这里的100可以用其他的表达式来代替,如页面中获取了某些表达式的值等。
以上是关于JS学习中函数的一些基础知识,需要把握住原有知识和现在所学内容之间的相同点和不同点,认真总结和反复理解,才能最终得以应用。关于匿名函数的使用还有很多的应用,将在后续继续总结!
标签:style blog http color io 使用 ar java for
原文地址:http://blog.csdn.net/wangyy130/article/details/39754115