【ECMAScript】立即执行函数
函数声明: function foo() {},函数声明会被引擎提升
匿名函数:function () {};
函数表达式:var fun = function () {};
要在函数体后面加括号就能立即调用,则这个函数必须是函数表达式,不能是函数声明
foo();// 因为函数声明提升,不会报错 function foo() { console.log("foo"); } fun();// fun没有赋值,会报错 var fun = function () { console.log("fun"); }
立即执行函数
标准写法
(function foo() { console.log("方式1"); }());
(function foo() { console.log("方式2"); })();
运算符写法。!、+、-、~都将函数声明转换成函数表达式,消除了javascript引擎识别函数表达式和函数声明的歧义,告诉javascript引擎这是一个函数表达式,不是函数声明。
!function foo() { console.log("方式3"); }();
+function foo() { console.log("方式4"); }();
-function foo() { console.log("方式5"); }();
~function foo() { console.log("方式6"); }();
追加防御型分号
;(function foo() { console.log("方式1"); }());
JQuery相关
(function($){ console.log("..."); })(jQuery);
将实参jQuery传入函数function(接收。
(document).ready(function(){...})的简写形式,是在DOM加载完成后执行的回调函数,并且只会执行一次。
下面两个效果完全一样
$(function() { console.log("..."); }); $( document ).ready(function() { console.log("..."); });
分类:
ECMAScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南