Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何知道传入函数参数的变量名?_Javascript_Jquery - Fatal编程技术网

Javascript 如何知道传入函数参数的变量名?

Javascript 如何知道传入函数参数的变量名?,javascript,jquery,Javascript,Jquery,这就是我所拥有的(示例): HTML: 每个按钮都有一个数组,id为var name 当我单击一个标记时,我用按钮的id作为参数调用函数,然后,我用传递给函数的id在数组中按下一些东西,但是,我怎么知道播放列表?名称 谢谢大家,大家好 将播放列表数组放入一个对象中,该对象的键对应于ID。然后使用id检索正确的播放列表阵列,然后按 var playlists = { playlist01: [], playlist02: [], playlist01: [], }; function

这就是我所拥有的(示例):

HTML:

每个按钮都有一个数组,id为var name

当我单击一个
标记时,我用按钮的id作为参数调用函数,然后,我用传递给函数的id在数组中按下一些东西,但是,我怎么知道
播放列表?
名称


谢谢大家,大家好

将播放列表数组放入一个对象中,该对象的键对应于ID。然后使用id检索正确的播放列表阵列,然后按

var playlists = {
  playlist01: [],
  playlist02: [],
  playlist01: [],
};

function pushSong(id) {
  playlists[id].push("whatever");
}

所有变量的作用域都是最接近的。所有函数都是闭包。变量位于外部函数的范围和上下文中,因此,如果将外部函数的上下文传递给
pushSong
函数,则可以执行以下操作:

function pushSong(id) {
    this[id].push("whatever");
};
通过传递当前
this
函数(变量范围为:

pushSong.call(this, $(this).attr("id"));

使用switch语句,这样每个可能的播放列表都有一个案例,否则需要使用一系列else-if语句


或者将其更改为使用双数组播放列表[]和[1][]作为第一个播放列表,使用[2][]作为第二个播放列表,等等。

使用播放列表的集合(数组或对象),而不是多个变量。这很有效!但是,如何将新的播放列表04动态推送到播放列表中?(如果我不知道名字,但我在一个变量中有它,比如
playlists.push($foo:[]);
function pushSong(id) {
    this[id].push("whatever");
};
pushSong.call(this, $(this).attr("id"));