问这个JavaScript函数是什么时候调用啊,谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/10 13:45:53
<script type="text/javascript">
1
2 $(function() {
3 $("table tr:nth-child(even)").addClass("striped");
4 });
5
6 function swap() {
7 $('tr').toggleClass('striped');
8 }
9
</script>
就是这个函数
$(function() {
3 $("table tr:nth-child(even)").addClass("striped");
4 });
他的定义也没有说函数名啊,也没有什么事件,不知什么意思啊,谢谢,是jQuery里面的

看清楚了,第一行其实是一个语句!不是一个函数.如果你这样一理解就能明白了.

在此之前有一个function $(){}的函数定义的.
而$();就是执行,而不是一个定义.至于里边有什么样的参数那是功能的问题,跟函数无关的.也就是说函数在执行时所要求的形参完全可以是一个函数的.

无名函数一般只会执行一次,而不是自动执行的.这里不太好理解的是$是否可以做为函数名.答案是可以.比如我在写组件时经常先这样写一句:
function $(nameid){return document.getElementById(nameid)}
这就是我定义的一个函数,至于JQuery中如何定义那是他自己的事.
当然使用是就是$("idname");这种形式了.
再谈一下参数,是否可以将一个函数做为参数?答案是也是可以的!表达式函数都可以作为参数传入的.如关系的的$定义,我也会经常这样用:
var obj = $("name"+i)
这里如果i为1,obj当然就是找出了name1对象赋给了obj.
那么既然变量都可以,里边是一个函数也无所谓了.我们经常看到
ppp(qqq(name))的形式,什么意思?就是将变量nme的值给qqq运行,得到的结果又作为参数给了ppp函数运行.这没有什么啊,既然函数都这样写了,我这里写个无名函数当然也可以.显然这个无名函数也会执行.

三楼的什么即时运行,完全也是他自定义的吧!书上至不会有,而且,只要懂原理的人怎么会不知道,还非要有一个即时运行的模式或是概念呢?且瑟他所谓的标准是有不同的!因为这里边执行了两个函数.

至于第6行,就是一个定义而已.

楼主显然没有分清调用与函数,函数一般前边都是有关键词的.

我不太管你是什么jQuery插件,但万变不利其踪,掌握好JS,不用去了解什么jquery插件里边再定义的名称什么的.

送楼主的一句话是:分清基本结构,是定义还是调用?别乱信某些书,有很多书是博客园里的哥们写的,有时他们还真的不十分清楚呢!如果不懂基本的结构,很容易受到那些书或