在javascript中的函数之间传递变量

时间:2018-09-11 20:33:58

标签: javascript

function deletePlaylist(songid) { 
    var currentModal = $(this);
    currentModal.find('.btn-ok').click(function(songid) {
        console.log(songid);
    });
}

我需要Songid从上层函数传递到下层函数。

在哪里可以“存放”此变量然后传递给它?

谢谢。

2 个答案:

答案 0 :(得分:0)

  

范围是用于通过变量标识符查找变量的一组规则   名称。但是,通常要考虑的范围不止一个。

     

就像一个块或函数嵌套在另一个块或   功能,范围嵌套在其他范围内。所以,如果一个变量   无法在即时范围内找到,引擎将咨询下一个外部   包含范围,一直持续到找到或最外层(也就是   全球范围)。

https://github.com/getify/You-Dont-Know-JS/blob/master/scope%20%26%20closures/ch1.md#nested-scope

这意味着,您可以从函数中访问外部作用域,而不必“隐藏”所需访问的变量。从内部函数中删除songid自变量,您将能够从外部范围访问songid。 您可以在此处阅读有关阴影的更多信息: https://github.com/getify/You-Dont-Know-JS/blob/master/this%20%26%20object%20prototypes/ch5.md#setting--shadowing-properties

答案 1 :(得分:0)

点击事件处理程序中的songid参数是songid函数的shadowing参数。此外,单击事件处理程序需要一个事件对象,而不是歌曲ID。从点击处理程序中删除deletePlaylist参数:

songid