首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

!function()做了什么?

!function()是一个JavaScript中的自执行函数,也被称为立即执行函数表达式(Immediately Invoked Function Expression,IIFE)。它的作用是创建一个函数并立即执行该函数,不需要通过函数名来调用。

!function()的主要作用有以下几个方面:

  1. 封装变量:通过在函数内部定义的变量,可以避免变量污染全局命名空间,提高代码的可维护性和可重用性。
  2. 创建私有作用域:函数内部的变量和函数在外部是不可访问的,可以保护内部的实现细节,提高代码的安全性。
  3. 避免命名冲突:由于函数内部的变量和函数不会与外部的命名空间冲突,可以避免不同模块之间的命名冲突问题。
  4. 模块化开发:通过将相关的代码封装在一个函数内部,可以实现模块化开发,提高代码的可维护性和可扩展性。
  5. 函数表达式:!function()是一种函数表达式的写法,可以将函数作为值来使用,可以作为参数传递给其他函数,或者赋值给变量。

!function()常用于一些需要立即执行的代码块,例如在页面加载时执行一些初始化操作,或者在定义一个闭包时使用。在实际开发中,可以根据具体的需求来灵活运用!function()来提高代码的质量和效率。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云函数(云函数):https://cloud.tencent.com/product/scf
  • 腾讯云容器服务(TKE):https://cloud.tencent.com/product/tke
  • 腾讯云云原生应用平台(Tencent Kubernetes Engine,TKE):https://cloud.tencent.com/product/tke
  • 腾讯云云数据库 MySQL 版(TencentDB for MySQL):https://cloud.tencent.com/product/cdb_for_mysql
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云安全中心(Cloud Security Center):https://cloud.tencent.com/product/ssc
  • 腾讯云音视频处理(云点播):https://cloud.tencent.com/product/vod
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动开发(移动推送):https://cloud.tencent.com/product/umeng
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云元宇宙(Tencent Cloud Metaverse):https://cloud.tencent.com/solution/metaverse
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

TypeScript 针对 JavaScript 做了什么

JavaScript 是一门非常灵活的编程语言,在了解为什么要有 TypeScript 之前,觉得还是有必要说说这个世界对 JavaScript 的误解。...但是因为一个糟糕的营销策略而被重新命名,该策略企图利用Sun Microsystem 的 Java 语言的流行性,将它的名字从最初的 LiveScript 更改为 JavaScript——尽管两者之间并没有什么共同点...如果要说说 JavaScript 还有什么特性的话就是大致可以考虑下有: 它没有类型约束,一个变量可能初始化时是字符串,过一会儿又被赋值为数字。...针对 Java 程序员来说,最最头疼重要的就是 JavaScript 毫无章法的变量类型,完全不知道自己的变量是什么,和另外一个就是 JavaScript 是一种解释型的脚本语言, 与 Java 等语言先编译后执行不同

28630

var fn = function(){ }和function fn() { }有什么区别

var fn = function(){ } 这种叫做函数表达式,必须先定义后使用。 function fn () { } 这种是函数声明,可以先使用后定义,它会对函数的声明进行一个提升。...举个例子: 方法先使用后声明,是没有问题的: fun(); function fun(){     console.log("hello,www.w3h5.com"); } 那么我们接着看函数表达式:...var fun = function(){     console.log("前端资源网"); } fun(); 以上是没有任何问题的,我们把声明和使用颠倒位置: fun(); var fun = function... () {     console.log("前端资源网"); } 控制台报错:Uncaught TypeError: fun is not a function ?...参考文档: var js=function(){}和function js(){}的区别 (adsbygoogle = window.adsbygoogle || []).push({

1.9K10

Flink UDAF 背后做了什么

[源码解析] Flink UDAF 背后做了什么 0x00 摘要 本文涉及到Flink SQL UDAF,Window 状态管理等部分,希望能起到抛砖引玉的作用,让大家可以借此深入了解这个领域。...看起来应该是Flink在背后做了一些黑魔法,把这两个函数从一个类中拆分了。...关于combineGroup,如果有兴趣,可以看看我之前文章 [源码解析] Flink的groupBy和reduce究竟做了什么 以及 源码解析] GroupReduce,GroupCombine 和...: GeneratedAggregations = _ } Flink就是把 UDAF的accumulator 存储在 combiner.accumulators 中,我们可以看到,无论用户定义了什么类型作为...0x03 流处理 流处理则是和批处理完全不同的世界,下面我们看看流处理背后有什么奥秘。

1.1K20
领券