function deletePlaylist(songid) {
var currentModal = $(this);
currentModal.find('.btn-ok').click(function(songid) {
console.log(songid);
});
}
我需要Songid从上层函数传递到下层函数。
在哪里可以“存放”此变量然后传递给它?
谢谢。
答案 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