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

; (function ($) 这前面的分号是必要的吗?

正在回答

4 回答

分号不是必须,只是为了与前面的代码有明显分隔以免混暇为上一个函数的方法或者回调函数(上文有js代码的情况)。

0 回复 有任何疑惑可以回复我~

我还以为没人注意到这个:

我们先看第一个括号里边的内容:function($){….},这不就是一个匿名的函数吗?但是它的形参比较奇怪,是$,这里主要是为了不与其它的库冲突。

这样我们就比较容易理解第一个括号内的内容就是定义了一个匿名函数,我们在调用函数的时候,都是函数名后边加上括号以及实参,但是由于操作符的优先级我们定义的匿名函数也需要用()括起来。

现在我想大家已经很清楚这句话是什么意思了吧。第一个括号表示定义了一个匿名函数,然后第二个函数表示为该函数传递的参数,整个结合起来意思就是,定义了一个匿名函数,然后又调用该函数,该函数的实参为jQuery。

相当于:function fun($){…};fun(jQuery);

这种方法多用于存放开发的插件,执行其中的代码时,Dom对象并不一定加载完毕。于此相反的是$(function(){}),这种方法在使用时页面的Dom对象已经加载完毕了。事实上该方法的全写是:$(document).ready(function(){});


2 回复 有任何疑惑可以回复我~

应该是笔误吧……

0 回复 有任何疑惑可以回复我~

我试了一下,去掉也可以正常运行。但我也不知道这里为什么要有个分号,等老师解释。

0 回复 有任何疑惑可以回复我~
#1

zackma

分号不是必须,只是为了与前面的代码有明显分隔以免混暇为上一个函数的方法或者回调函数
2014-10-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
jQuery基础课程
  • 参与学习       154768    人
  • 解答问题       7184    个

加入课程学习,有效提高前端开发速度

进入课程
意见反馈 帮助中心 APP下载
官方微信