$(function(){…}); 也可以写作 jQuery(function($) {…}); , 其实就是$(document).ready(funcrtion{...});
$(function(){})已经是一个匿名函数了,在DOM加载完成之后执行一系列预先定义好的函数. 在里面定义的函数已经是私有了,不能全局访问。把函数定义在全局,也就是function外面,这样外部才能调用。
eg: exchange 点击触发的方法能调用
userInfoBtn方法 因为是私有的 点击不能调用
<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<meta charset="UTF-8">
<title>$(function(){}函数的使用</title>
</head>
<a id="exchange" href="javascript:;">点击调用exchange方法</a><p>
<a onclick="userInfoBtn()" href="javascript:;">点击调用userInfoBtn方法 会报错</a><p>
<a onclick="toastMsg2()" href="javascript:;">点击调用toastMsg2方法 会报错</a><p>
<body>
<script type="text/javascript">
$(function(){
/**
* 兑换记录
*/
$("#exchange").click(function () {
//调用$(function(){}外的函数ok
toastMsg1("exchange");
userInfoBtn();
});
/**
* 跳转完成个人信息页
*/
function userInfoBtn(isEnd) {
alert("userInfoBtn被调用了");
}
});
function toastMsg1(msg) {
alert(msg);
}
function toastMsg2( ) {
//调用$(function(){}内的函数不ok
userInfoBtn();
}
</script>
</body>
</html>