从多个来源设置变量的更有效方法?

jha*_*fen 0 javascript jquery

我试图在Javascript中设置一个变量.我希望变量使用以下之一.

第一选择,如果存在

$(this).attr("data-name");
Run Code Online (Sandbox Code Playgroud)

第二选择,如果上面不存在

$(this).attr("name");
Run Code Online (Sandbox Code Playgroud)

第三选择,如果上面都不存在

$(this).attr("id");
Run Code Online (Sandbox Code Playgroud)

当我说不存在时,我的意思是不是空的,不是未定义的而不是空白的.

我不确定在javascript中执行此操作的有效方法可能会对此使用一些帮助.

lon*_*day 7

您可以使用||运营商:

var name = $(this).data('name') || this.name || this.id;
Run Code Online (Sandbox Code Playgroud)

这表示"使用data-name属性;如果它是假的,请使用该name属性;如果它是假的,请使用该id属性."

假值是:

  • 空值
  • 未定义
  • 一个空字符串
  • 数字 0
  • NaN