未定义功能参数

时间:2018-11-01 21:56:52

标签: javascript

为什么我的参数不起作用?

function myFunc(e){
  e = e || 'add' || 'remove';    
  document.body.classList.e('hide');
}
myFunc(remove);
myFunc(add);

如果正在尝试这样做

function spinner(e){

      let $spinner = document.querySelector('.isolador_spinner');

      if ( e === 'remove' ){
        $spinner.classList.remove('hideSpinner');
      } else if ( e === 'add' ) {
        $spinner.classList.add('hideSpinner');
      } else {
        console.log('e was not defined');
      }

    }

它声称e不是函数

1 个答案:

答案 0 :(得分:2)

要通过间接变量访问对象属性,请使用bracket notation

document.body.classList[e]('hide');

我还建议您为参数使用e以外的名称。在JavaScript中,名为e的函数参数通常表示eEvent。将其命名为action可能是一个更好的选择。

您在编辑中添加的代码也有问题:

myFunc(remove);    // wrong - remove is not a variable
myFunc('remove');  // correct