为了账号安全,请及时绑定邮箱和手机立即绑定

jquery (function(menu) {})(jquery)

jquery (function(menu) {})(jquery)

收到一只叮咚 2019-02-19 13:13:41
jquery (function(menu) {})(jquery)
查看完整描述

2 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

这种函数叫做立即执行的匿名函数,举了例子你就明白了:
var a=1;
(function(){
a+=1;

})();
alert(a);//2 函数没有像我们平常使用的那样调用就直接执行了
再来看你的函数 (function(menu) {})(jquery)
拆开分析:
function(menu) {}这是一个匿名函数,参数menu是形参

(function(menu) {})执行强制表达式运算

(jquery)作为函数或对象方法的调用运算符 jquery是实参

查看完整回答
反对 回复 2019-03-03
?
万千封印

TA贡献1891条经验 获得超3个赞

(1). 首先, 要清楚两者的区别:
(function {// code})是表达式, function {// code}是函数声明.
(2). 其次, js"预编译"的特点:
js在"预编译"阶段, 会解释函数声明, 但却会忽略表式.
(3). 当js执行到function() {//code}();时, 由于function() {//code}在"预编译"阶段已经被解释过, js会跳过function(){//code}, 试图去执行();, 故会报错;
当js执行到(function {// code})();时, 由于(function {// code})是表达式, js会去对它求解得到返回值, 由于返回值是一 个函数, 故而遇到();时, 便会被执行.




查看完整回答
反对 回复 2019-03-03
  • 2 回答
  • 0 关注
  • 487 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信