这是什么;(函数(){})&引用;,括号内的函数,在javascript中是什么意思?

这是什么;(函数(){})&引用;,括号内的函数,在javascript中是什么意思?,javascript,coding-style,scope,anonymous-function,javascript-namespaces,Javascript,Coding Style,Scope,Anonymous Function,Javascript Namespaces,可能的重复项: 大家好 我不知道下面的内容是什么: (function(){ // Do something here ... })(someWord) //Why is this here?; 我的问题是: 把一个函数放在括号里是什么意思(函数(){}) 括号集在函数末尾做什么 我通常在jquery代码和其他一些javascript库中看到这些函数。您正在创建一个立即被调用的函数,并使用someWord作为参数。这是一种定义匿名函数然后立即执行它的方法,不会留下任何痕迹。函数的作

可能的重复项:

大家好

我不知道下面的内容是什么:

(function(){
  // Do something here
  ...
})(someWord) //Why is this here?;
我的问题是:

  • 把一个函数放在括号里是什么意思<代码>(函数(){})
  • 括号集在函数末尾做什么

  • 我通常在jquery代码和其他一些javascript库中看到这些函数。

    您正在创建一个立即被调用的函数,并使用
    someWord
    作为参数。

    这是一种定义匿名函数然后立即执行它的方法,不会留下任何痕迹。函数的作用域确实是局部的。最后的
    ()
    括号用于执行函数——括号用于消除正在执行的内容的歧义。

    基本上,这允许您声明一个匿名函数,然后通过将其括在括号中并编写
    (someWord)
    来运行函数。您可以将其视为声明一个对象,然后立即实例化该对象。

    它用于创建匿名函数(没有名称的函数,可以“嵌套”在其他函数中)并将参数传递给该函数。 someWord作为参数传递,函数可以使用关键字“arguments”读取它

    简单的用法示例:

    function Foo(myval) {
        (function(){
          // Do something here
          alert(arguments[0]);
        })(myval); //pass myval as argument to anonymous function
    }
    ...
    Foo(10);
    

    您正在使用特定参数立即调用匿名函数

    例如:

    (function(name){
      alert(name);
    })('peter')
    
    这会提醒“peter”

    对于jQuery,您可以将
    jQuery
    作为参数传递,并在函数中使用
    $
    。因此,您仍然可以在noConflict模式下使用jQuery,但可以使用方便的
    $

    jQuery.noConflict()
    (function($){
      var obj = $('<div/>', { id: 'someId' });
    })(jQuery)
    
    jQuery.noConflict()
    (函数($){
    var obj=$('',{id:'someId'});
    })(jQuery)
    
    同样的问题:感谢您的回复,现在有意义了。可以给这个函数起个名字吗?还是必须匿名?哇,这是最尖锐的答案,我明白了。谢谢