什么';这两个函数在JavaScript中的区别是什么?

什么';这两个函数在JavaScript中的区别是什么?,javascript,jquery,Javascript,Jquery,类型1: var EXAMPLE = function() {}; 第2类: var EXAMPLE = function($) { return {}; }(jQuery); 我是JavaScript初学者,正在努力理解这两段代码之间的区别。在功能方面,我在尝试向示例对象添加属性时没有看到差异。有两个主要差异: 对于第一个对象,EXAMPLE的值最终成为一个函数对象。在第二个示例中,它最终是一个普通对象(不是函数),因为在第二个示例中,函数正在被调用,并且您正在示例中存储其返回值(

类型1:

var EXAMPLE = function() {};
第2类:

var EXAMPLE = function($) {
    return {};
}(jQuery);

我是JavaScript初学者,正在努力理解这两段代码之间的区别。在功能方面,我在尝试向示例对象添加属性时没有看到差异。

有两个主要差异:

  • 对于第一个对象,
    EXAMPLE
    的值最终成为一个函数对象。在第二个示例中,它最终是一个普通对象(不是函数),因为在第二个示例中,函数正在被调用,并且您正在
    示例中存储其返回值(
    {}

  • 第二个依赖于定义了
    jQuery
    符号(可能是因为在页面上包含jQuery)。第一个没有

  • 所以他们很不一样

    第一种是创建函数的非常通用的方法(在本例中,函数不做任何事情)

    第二种是使用jQuery的相当标准的方法,不依赖于
    $
    全局(因为有时人们使用
    jQuery.noConflict()
    来释放
    $
    符号)。其思想是,由于
    jQuery
    作为
    $
    参数传递到函数中,因此即使没有
    $
    全局变量,函数中的代码也可以使用
    $
    。人们通常会这样做,并返回一个带有函数的对象,如下所示:

    jQuery.noConflict();//释放$
    显示(“typeof$=”+typeof$);//“未定义”
    变量示例=函数($){
    返回{
    红色:功能(选择器){
    //注意,我们可以在这里使用$,即使$不是
    //全球定义
    $(选择器).css(“颜色”、“红色”);
    },
    绿色:功能(选择器){
    $(选择器).css(“颜色”、“绿色”);
    }
    };
    }(jQuery);
    setTimeout(函数(){
    例如:红色(“目标”);
    }, 700);
    setTimeout(函数(){
    例如:绿色(“目标”);
    }, 1400);
    功能显示(msg){
    jQuery(“”).html(字符串(msg)).appendTo(document.body);
    }
    
    
    我是目标元素
    有两个主要区别:

  • 对于第一个对象,
    EXAMPLE
    的值最终成为一个函数对象。在第二个示例中,它最终是一个普通对象(不是函数),因为在第二个示例中,函数正在被调用,并且您正在
    示例中存储其返回值(
    {}

  • 第二个依赖于定义了
    jQuery
    符号(可能是因为在页面上包含jQuery)。第一个没有

  • 所以他们很不一样

    第一种是创建函数的非常通用的方法(在本例中,函数不做任何事情)

    第二种是使用jQuery的相当标准的方法,不依赖于
    $
    全局(因为有时人们使用
    jQuery.noConflict()
    来释放
    $
    符号)。其思想是,由于
    jQuery
    作为
    $
    参数传递到函数中,因此即使没有
    $
    全局变量,函数中的代码也可以使用
    $
    。人们通常会这样做,并返回一个带有函数的对象,如下所示:

    jQuery.noConflict();//释放$
    显示(“typeof$=”+typeof$);//“未定义”
    变量示例=函数($){
    返回{
    红色:功能(选择器){
    //注意,我们可以在这里使用$,即使$不是
    //全球定义
    $(选择器).css(“颜色”、“红色”);
    },
    绿色:功能(选择器){
    $(选择器).css(“颜色”、“绿色”);
    }
    };
    }(jQuery);
    setTimeout(函数(){
    例如:红色(“目标”);
    }, 700);
    setTimeout(函数(){
    例如:绿色(“目标”);
    }, 1400);
    功能显示(msg){
    jQuery(“”).html(字符串(msg)).appendTo(document.body);
    }
    
    
    我是目标元素
    此示例创建函数并将其分配给
    示例

    var EXAMPLE = function() {};
    
    此函数运行函数并分配函数返回的对象
    Example={b:jQuery}

    var EXAMPLE = function($) {
        return {b: $};
    }(jQuery);
    

    此示例创建函数并将其分配给
    示例

    var EXAMPLE = function() {};
    
    此函数运行函数并分配函数返回的对象
    Example={b:jQuery}

    var EXAMPLE = function($) {
        return {b: $};
    }(jQuery);
    

    一个区别是第一个是普通的Javascript,而第二个使用一个广为人知的库,名为。它们使用相同的变量名。第一个例子包含一个
    函数
    对象。第二个示例包含一个普通的
    对象{}
    ,该对象由第二个函数执行返回。一个区别是第一个是普通的Javascript,而第二个使用一个广为人知的库,名为。它们使用相同的变量名。第一个例子包含一个
    函数
    对象。第二个示例保存第二个函数执行返回的普通
    对象{}