2016-07-21 107 views
-3

是什么

$(function() { 
    /* some functionality */ 
}); 

的区别
function() { 
    /* some functionality */ 
} 

我见过用来初始化白手起家提示(如为)第一个,但我试过同第二个功能它不起作用。有人可以帮我吗?

+1

他们都是匿名函数....第一个刚刚被用作jQuery的文档准备回调 –

+2

首先是从jQuery与JS本身无关。 如果你在空白页面运行它 - 你会得到一个错误'“$”未定义“ – YemSalat

+2

更好的问题是:jQuery和香草JavaScript有什么区别? – oberbics

回答

1

第一个在jquery中是$(document).ready(function(){})的简写。

+0

啊,像我这样的初学者可以理解:-) 谢谢光盘 –

0

第一个函数是一个jquery函数&它也立即被调用。如果你检查这个LINK,你会发现函数内部的警报将被调用,即使这个函数没有从任何地方调用。 您可以在IIFE

$(function() { 
    /* some functionality */ 
}); 

看看第二个表达显然是错误的。一个function必须声明变量或它应该有一个name

以下是一个匿名函数,并将其分配给someName

var someName = function(){ 
    /* some functionality */ 
} 

以下是命名函数表达式

function someName(){ 
    /* some functionality */ 
} 

如果您运行

function() { 
    /* some functionality */ 
} 

在开发人员的工具控制台,你会得到Uncaught SyntaxError: Unexpected token (

相关问题