函数参数:获取未定义变量的名称

时间:2018-02-01 14:04:07

标签: javascript parameter-passing

如果我的一个函数传递了undefined参数,我想在函数外部获取变量的名称,以便我可以更好地排除undefined变量的故障。即:

var myVar = document.getElementById("myTable").dataset.tablename;
//myVar: undefined

testVar(myVar);

testVar(param1) {
  if (!param1) console.log(passed parameter ??? undefined);
}

//??? shall be "myVar"

1 个答案:

答案 0 :(得分:0)

我认为你想要达到的目标是不可能的。您可以在调试时查看堆栈跟踪,但我将在此处为您提供更多信息和想法:

  1. 您可以在团队中使用开发策略来命名外部变量,就像参数尽可能使用函数一样。如果您这样做,this帖子将会有用。

  2. 您可能会引入一个策略来将对象传递给函数,例如switcher,然后您就会知道密钥。

  3. 您可以创建{name: 'John', age: 3}原型,其中包含Trackablekey,如下所示:

  4. value

    并在需要名称时将trackable传递给函数,因此你将调用 function Trackable(name, value) { this.name = name; this.value = value; } 并在里面检查param1.value是否为undefined,如果未定义,则在报告中使用该名称。