首页 > js 的 匿名函数该怎样从外部调用?

js 的 匿名函数该怎样从外部调用?

;!function(win, undefined){
xxim.popchatbox = function(othis){
    var node = xxim.node, dataId = othis.attr('data-id'), param = {
        id: dataId, //用户ID
        type: othis.attr('type'),
        name: othis.find('.xxim_onename').text(),  //用户名
        face: othis.find('.xxim_oneface').attr('src'),  //用户头像
        href: 'profile.html?user=' + dataId //用户主页
    }, key = param.type + dataId;
    if(!config.chating[key]){
        xxim.popchat(param);
        config.chatings++;
    } else {
        xxim.tabchat(param);
    }
    config.chating[key] = param;
    
    var chatbox = $('#layim_chatbox');
    if(chatbox[0]){
        node.layimMin.hide();
        chatbox.parents('.xubox_layer').show();
    }
};
}(window);

如果xxim变量在全局作用域中被定义可以直接调用xxim.popchatbox方法就可以了, 否则通过将xxim暴露到全局作用域来进行外部访问。

;!function(win, undefined){
var xxim = {};
xxim.popchatbox = function(othis){
    // do something
};
window.xxim = xxim
}(window);

这不是已经调用了吗?匿名函数只是为了形成一个闭包,防止局部变量外泄

【热门文章】
【热门文章】