“还记得前几天我们说的鼠标事件么?里面用到了两个函数overme和outme,今天咱聊聊函数的一些基础知识吧!”
“好啊!前两天说这两个函数的时候我心里就有很多不明白的地方,能系统的说一下就最好了!”
老朱说:“我觉得刚开始也不一定要把函数相关的知识都说了,咱还是挑一些重要的来说吧!”
老朱接着说:“在js里面函数也可以作为一个参数传递,也就是说我们可以定义一个变量,让变量等于一个匿名函数。”
小白打断了老朱说的话,问道:“朱哥,什么是匿名函数呢?”
“哦!一般我们定义函数的时候都是有函数名的,匿名函数就是没有函数名的函数。你看下面就是一个匿名函数”
“这个函数跟之前的overme和outme函数区别在于没有函数名,它的外部通过小括号括住,如果需要参数传递,后面可以跟一对小括号放参数,如现在这个匿名函数需要传递一个参数a,所以后面有一对小括号里面传递了参数15。匿名函数有一个非常大的好处就是,我们做的一个功能页面如果可能会被别的页面调用,为了避免变量名称冲突,通常在这个页面的js功能通过一个匿名函数来实现,匿名函数内部的变量使用var定义就不会与其他页面同名变量冲突。匿名函数用处非常大,匿名函数以后如果用到我们专门来讲,今天主要说普通的函数。现在我们让一个变量tipf等于这个匿名函数。”
“这里的两个函数表达的内容是一样的,都可以传递一个参数a,然后在控制台输出myTip+a字符串。唯一的区别就是上面的tipf函数符合代码顺序执行,下面的tipf函数可以在页面任意位置定义。另外在定义js对象的时候也可以用第一种方式通过prototype给对象设定方法,这个你有个印象就可以,现在不用详细了解,否则对你学习JS的兴趣会有打击。”
“那你为啥还要说prototype,我已经开始迷糊了。”,小白郁闷的说道。
“哈哈,开个玩笑么,你有个印象总比以后碰到prototype犯迷糊强吧,好歹知道怎么回事。之前咱看到的函数都没有返回值,还有一种函数是有返回值的,返回值使用return关键字。比如下面这个函数”
这个res函数有一个参数s,我们传入字符串s以后,函数会返回一个包含span标签的红色文字。直观理解就是,res等于返回值。于是我们如果希望一个div里面放一段红色的文字就不用考虑样式了,只需要直接传递文本就可以。
“在前期学习js和使用js的时候函数可以说无处不在,你需要大量使用函数寻找使用函数的感觉,这样会为你之后使用js对象打下很好的基础,今天就聊这么多吧,以后碰到函数问题我们再做详细说明。”
想学H5的朋友可以关注老炉,您的关注是我持续更新《小白H5成长之路》的动力!
网友评论