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

(function(){})()之间的区别; 和function(){}();

在JavaScript中,(function(){})()和function(){}()之间的区别主要在于执行时机和作用域。

  1. 执行时机:

(function(){})():这种写法是立即执行函数表达式(Immediately Invoked Function Expression,IIFE),在定义后立即执行。这种写法通常用于创建一个新的作用域,避免变量污染全局作用域。

function(){}():这种写法是匿名函数表达式,定义了一个函数但并未立即执行。需要在后面加上一对括号()才能将其作为函数调用并执行。

  1. 作用域:

(function(){})():IIFE创建了一个新的作用域,在这个作用域中定义的变量和函数不会污染全局作用域。

function(){}():匿名函数表达式不会创建新的作用域,其中定义的变量和函数会成为全局作用域的一部分。

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

  • 云函数 SCF:腾讯云云函数 SCF 是一个高性能、可扩展、安全可靠、易用的无服务器计算服务,可以让您更专注于业务逻辑的开发,而无需担心底层资源和运维。
  • COS 对象存储:腾讯云对象存储(Cloud Object Storage,COS)是一种海量、安全、低成本、高可靠的云存储服务,适用于多种应用场景,可以满足您的存储需求。
  • API 网关:腾讯云 API 网关是一个高性能、安全、稳定、可扩展的 API 托管服务,支持多种协议、自定义域名、监控和分析等功能,可以帮助您轻松管理和发布 API。

请注意,这些产品和产品介绍链接地址仅供参考,实际应用中需要根据具体需求和场景进行选择。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

jQuery(function(){})与(function(){})(jQuery)区别

三、总结 jQuery(function(){ });用于存放操作DOM对象代码,执行其中代码时DOM对象已存在。...(function(){ })(jQuery);用于存放开发插件代码,执行其中代码时DOM不一定存在,所以直接自动执行DOM操作代码请小心使用。 补充: (function($){...})...这就定义了一个匿名函数,参数为arg 而调用函数时,是在函数后面写上括号实参,由于操作符优先级,函数本身也需要用括号,即: (function(arg){...})...(param) 这就相当于定义了一个参数为arg匿名函数,并且将param作为参数来调用这个匿名函数 而(function($){...})...(jQuery)则是一样,之所以只在形参使用$,是为了不与其他库冲突,所以实参用jQuery ,上述也可以这样写:var fn = function($){....}; fn(jQuery);

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

    但函数表达式变量表达式只是将函数或者变量声明提升到函数顶部,函数表达式变量初始化不会被提升。 var fn = function(){ } 这种叫做函数表达式,必须先定义后使用。...function fn () { } 这种是函数声明,可以先使用后定义,它会对函数声明进行一个提升。...var fun = function(){     console.log("前端资源网"); } fun(); 以上是没有任何问题,我们把声明使用颠倒位置: fun(); var fun = function...不声明 fun 报错是不一样,其实 fun 也是一个变量,只不过他是 function () { console.log(“前端资源网”);} 一个引用,fun 声明被提升了,但是初始化没有被提升...参考文档: var js=function(){}function js(){}区别 (adsbygoogle = window.adsbygoogle || []).push({

    2K10

    $(document).on$(#idname).on$(function(){ })区别

    $(function(){ })使用   JQuery 代码我们通常会包裹在一个(function(){})函数中,jq (function(){})也就是 $(function () {...DOM 文档加载步骤: 解析 HTML 结构 加载外部脚本样式文件 解析并执行脚本代码 执行 $(function(){}) 内对应代码 加载图片等二进制资源 页面加载完毕,执行 window.onload...$().click()用法一样,最大区别即优点是如果动态创建元素在该选择器选中范围内是能触发回调函数。...$().bind()直接绑定在元素上,click,blur,mouseon一样点击事件。     $().live()是通过冒泡方式来绑定到元素上。...触发事件时,jQuery会按照绑定先后顺序依次执行绑定事件处理函数。   3. 阻止事件冒泡事件委托方法:     A:return false。

    2.1K20

    sigmoid functionsoftmax function

    「学习内容总结自 couesera udacity 深度学习课程,部分截图来自 coursera 课件」 sigmoid function sigmoid函数(σ(x)=1/(1+e-x))输出范围为...sigmoid softmax function 对于多类分类问题即输出多个概率问题,sigmoid函数就使不上劲了。这时候就需要运用softmax了。 softmax是如何由来呢?...举个简单例子(例子来自udacity深度学习课程里解释),要建立一个模型,对于我们看到动物,我们要分别输出为鸭子,海狸海豹概率。...基于种种特征输入,现在鸭子,海狸海豹得到分数分别为 2 , 1 0。计算概率最简单方法就是将它们各自得分除以它们得分总和。所以得到概率分别为 2/3 , 1/3 0。...联想到指数函数(ex)会将输入任何数转换为正数特性,用它来转换得分再计算概率就会避免上述方法弊端。

    2.1K10

    $(function(){})$(document).ready(function(){})

    document.readyonload区别——JavaScript文档加载完成事件 页面加载完成有两种事件 一是ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件) 二是onload...用jQ的人很多人都是这么开始写脚本: $(function(){ // do something }); 其实这个就是jq ready()简写,他等价于: $(document).ready(function...(){ //do something }) //或者下面这个方法,jQuer默认参数是:“document”; $().ready(function(){ //do something })...这个就是jq ready()方法就是Dom Ready,他作用或者意义就是:在DOM加载完成后就可以可以对DOM进行操作。...一般情况先一个页面响应加载顺序是:域名解析-加载html-加载jscss-加载图片等其他信息。 那么Dom Ready应该在“加载jscss”“加载图片等其他信息”之间,就可以操作Dom了。

    1.6K10

    简单说下,(function(){...})() 与 (function(){...}()) 有什么区别

    大周末写太长了也没人看,标题所提问,其实没有区别function xxx(){...},这是一个函数,解释器知道了,但并不运行它; xxx(),解释器遇到它就会执行它。...IIFE写法好处: 1,普通写法代码多,并且定义执行不在一起; 2,占用命名空间; 不想给某些函数起名,又想让它立即执行,那怎么办呢?...简单啊,将之转化为表达式,加个()呗,变成这样, (function xxx(){console.log('xxx')})(); 那既然都立即执行了,干脆函数名也不要了吧,于是, (function (...因为IIFE搞了一个新作用域,你代码碰不到全局对象了。 什么是IIFE? 立即执行函数表达式 IIFE(Immediately-invoked function expression)

    86060

    探究{ a = 1; function a(){} }{ function b(){}; b = 1 }

    :遇到有var作用域,在任何语句执行前都已经完成了声明初始化,也就是变量提升而且拿到undefined原因由来 function: 声明、初始化、赋值一开始就全部完成,所以函数变量提升优先级更高...如果let那一行是赋值操作,则初始化赋值同时进行 注意:变量提升仅提升声明,而不提升初始化 代码块 可以看见,这个题目一般变量提升有点套路不一样,加了一个花括号。...script展开也是没有什么变化 第二、三个点,对a赋值12,也很符合预期,其他没有变化 第四个点,就一直是2了,第三个点信息是一模一样 想必这是一个很无聊事情,但我们还是再把var...而且{ a = 1; function a(){} }{ function a(){}; a = 1 }都是输出1。...在safari下,这种情况加了代码块没加是一样,相当于直接执行了a = 1; function a(){} { function a(){}; a = 1 } 我们执行一下{ function a(

    14310

    探究{ a = 1; function a(){} }{ function b(){}; b = 1 }

    近来在多个群里面看见有人发了一个题,{ a = 1; function a(){} };console.log(a){ function b(){}; b = 1 };console.log(b)输出是什么...script展开也是没有什么变化 ? 第二、三个点,对a赋值12,也很符合预期,其他没有变化 ? 第四个点,就一直是2了,第三个点信息是一模一样 ?...在safari下,这种情况加了代码块没加是一样,相当于直接执行了a = 1; function a(){} ?...代码块里面所有的a函数函数声明,也是常规一样提升,取最后一个 代码块里面a函数声明语句,除了提升,还有一个神奇表现:它会把代码块里面上一句a相关赋值语句(a = xxx)值“传递”出去,function...这一切没有代码块{}时表现是一样

    1.8K81

    functionbind

    ,那么我们就可以编写a(param…)代码 如何能把各种不同可调用对象形式统一一下,统一目的是为了方便咱们调用 这就会引入了function 2.std::function(可调用对象包装器) C...++11 std::function是个类模版,用来装各种可调用对象,但不能装类成员函数指针 std::function类模版特点,就是能够通过给它指定模版函数,它就能够用统一方式来处理函数 2.1...a)将可调用对象函数绑定在一起,构成一个仿函数,所以可以直接调用 b)如果函数有多个参数,可以绑定一部分参数,其他参数在调用时候指定 3.1绑定普通函数 直接调用 void hello(string...30,func第一个第二个参数分别由调用bf2时第一二个参数指定 _1是标准库里定义,占位符含义,类似这样占位符有20个(看源代码),足够咱们用了 void func(int x, int...m_a值,这说明此时bind返回这个对象其实是ct对象本身(仿函数类型对象) 3.3bindfunction配合使用 class CT { public: void func()(int x

    10410

    window.onload 、$(function()function())、;(function(){}());执行顺序(初)

    window.onload 、$(function()function())、;(function(){}());三个执行顺序: ;(function(){}()); > $(function()function...;(function(){ //代码块 }()); 但是,这个只能放在元素之后,做处理或者调用,如果放在DOM元素之前,会报错,阻塞下面执行。JS是有执行顺序。...大家都知道,如果 JS 动态加载数据,绑定事件时候,会找不到此DOM元素,此时可以用Jquery 另一个绑定事件 delegate()事件执行。...JQuery扫描文档查找('#container'),并使用click事件a这一CSS选择器作为参数,把alert函数绑定到('#container')上。...任何时候只要有事件冒泡到 而 window.onload必须等到页面内包括图片所有元素加载完毕后才能执行。 $(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。

    3.5K30

    The this parameter in arrow function - Arrow functionthis参数

    不管`新function`是以何种方式被调用,在该`新function`中 `this`值永远都是传入对象。...除此以外,`新function`在行为上 原来函数类似, 因为`新function`原来函数`function body`有着同样代码。...因为把问题1问题2测试都放在一起了,所以对问题2代码做了些改动 以便测试。 <!...Screen Shot 2018-04-19 at 6.04.33 PM.png 根据运行结果第五行第十行,可以看出ninja1.whoAmIninja2.whoAmI是同一个函数。...并且编译也不是一次性完成,每当遇到要执行函数时,会对要执行函数进行编译(大概 函数就是在此时被创建吧?)。因此编译执行时交叉进行。 转载请注明出处

    90920

    解释函数 foo() {} var foo = function() {} 之间 foo 用法差异

    在 JavaScript 中,我们有不同方法来定义函数。函数 foo() {} var foo = function() { } 是定义函数两种不同方法。...这两种方式都有其优点不同用例;但是,两者在执行函数时给出相同结果。 因此,本教程将教我们定义函数两种方法之间区别。...在这里,function() { } 是一个函数表达式,我们将其存储在 foo 变量中。foo其他变量一样是一个普通变量,甚至我们可以在foo变量中存储数字字符串。...var foo = function() { } 之间区别 下表突出显示了函数 foo() { } var foo = function() { } 之间主要区别: 函数 foo() { } var...函数声明函数表达式可以执行相同任务,但它们具有不同语法计算行为。

    1.3K10

    python几个function

    comments): coms = [] coms = comments.apply(lambda x: SnowNLP(x).sentiments) # 情感分析,coms在0~1之间...购买已经发布一年小米8,价格已经降到位了,这个时候购买绝对是超值。开机大小适中,手感不错,做工也很精致,我购买是蓝色版本,拿在手上可以说是赏心悦目。...骁龙845处理器,搭配8g运行内存,运行速度杠杠。128g海量存储,足够容纳我拍摄诸多风景照片。...最后说说这款手机拍摄,由于它主摄使用是索尼imx363,因此成像素质还是不错,加上后期软件调校,所以说,无论是在白天光照条件好情况下,还是在夜间,都能够获得不错拍照体验。...我对于超广角以及变焦这些功能倒并不是特别在意,因为有些手机摄像头虽然是多了,但其实并非共同成像,只是单镜头在发挥作用,所以它成像效果主摄是完全不能比。总之,很满意。"

    47720
    领券