簡體   English   中英

如何將變量從函數作為參數傳遞給匿名函數以充當變量

[英]How to pass a variable from a function as an argument to an anonymous function to work as a variable

我正在嘗試調用一個函數,但是然后給它提供一些需要從另一個函數使用的變量,而不會污染全局名稱空間。

這有效,但將這些變量聲明為我不想要的全局變量。

$(document).on('click', '.News_Header_Holder', function () {
    postid = $(this).attr('data-postid');
    post_source = $(this).attr('data-source');
    $.feed_g();
});

我想要這樣的東西,我只是不知道語法。

要調用的功能

$.feed_g = function () {
    $('.Loader_G').fadeIn(500);
    var data = {
        source: post_source,
        pid: postid,
    }
    $.ajax({
        type: "POST",
        complete: function () {
            $('.Loader_G').fadeOut(500);
        },
        data: data,
        url: "php/feed.php",
    }).done(function (f) {
        $('#Feed_G').html(f);
    });
}

函數調用上面的函數。

$(document).on('click', '.News_Header_Holder', function () {
    var postid = $(this).attr('data-postid');
    var post_source = $(this).attr('data-source');
    $.feed_g(post_source, postid);
});

謝謝。

您需要在feed_g函數中聲明參數。 否則,該函數將不知道如何引用其收到的參數。

$.feed_g = function(post_source, postid){

這些參數名稱不必與傳遞給函數的名稱相同。 例如,考慮這個簡化的例子

function frob(x, y){ console.log("Hello", x, y) }

frob("a", "b");

var q = 1;
var w = 2;
frob(q, w);

var x = 10;
var y = 20;
for(y, x);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM