function oClick4(){
var ajQuery4 = function(){
show('ajQuery4')
}();
}
这个我变成:
function oClick4(){
function(){
show('ajQuery4')
}();
}
之后,点击“点击测试4”,就没有字符串“ajQuery4”输出了。。这是为什么呢??
function oClick4(){
var ajQuery4 = function(){
show('ajQuery4')
}();
}
这个我变成:
function oClick4(){
function(){
show('ajQuery4')
}();
}
之后,点击“点击测试4”,就没有字符串“ajQuery4”输出了。。这是为什么呢??
2014-10-21
这个自执行我感觉会用,但还是不太理解,看了一下讲义上的说法:
“jQuery使用()将匿名函数括起来,然后后面再加一对小括号(包含参数列表),那么这小括号能把我们的表达式组合分块,并且每一块(也就是每一对小括号),都有一个返回值。这个返回值实际上也就是小括号中表达式的返回值。所以,当我们用一对小括号把匿名函数括起来的时候,实际上小括号返回的,就是一个匿名函数的Function对象。因此,小括号对加上匿名函数就如同有名字的函数般被我们取得它的引用位置了。所以如果在这个引用变量后面再加上参数列表,就会实现普通函数的调用形式。”
还是不太懂!
看到上面小鸟说的“在function前加上一个+ 让其成为表达式 就可以执行了”我感觉就是上面讲的那个意思。但是我没搞明白,因为我第一次看到匿名函数的时候有这么个想法:
如果"()"可以当做变量名的话,是不是可以这么理解呢?
var () = function(){alert("ok")}; ()();
这样就跟自执行是一样的了;
感觉应该是不对的,谁能帮我解释一下这个表达式怎么就可以执行了呢?!!!
举报