JS中匿名函数$(function(){ })和(function(){})()的区别
“$(function(){ });” Jquery语法的匿名函数,用于存放操作DOM对象的代码,执行其中代码时DOM对象已存在;
(通过这样就可以在页面加载完成时通过ajax再异步加载一些数据)
“(function(){})();”用于存放开发插件的代码,执行其中代码时DOM不一定存在;
(用于在内容加载时或加载前加载)
举例:
该例子在浏览器中运行的时候会报错,究其原因(function(){...})()函数的执行时机并不是在DOM加载完毕后才执行,而是随着页面自上而下来执行
<html> <title>错误实例</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript"> (function(){ alert(document.getElementById("name").value); })(); </script>
<input type="hidden" id="name" name="name" value="GaoHuanjie">
</html>
___________________________________________________
专注iOS/前端开发,广泛涉猎多种平台和技术,欢迎交流
可以在微博关注并@沈z伟