11

我正在使用很多这些:

$text = $menu.jqmData('menu-text') ? 
           $menu.jqmData('menu-text') : self.options.menuTxt;

它已经是“速记”语法,但我想知道,是否有可能进一步减少上述行。一定有比检查$menu.jqmData('menu-text')然后再写整个东西更好的方法。没有吗?

感谢帮助!

4

1 回答 1

21

更短的方法是使用双管。如果第一个是 ,它基本上使用第二个值falsy

$text = $menu.jqmData('menu-text') || self.options.menuTxt;

您也可以在同一行中多次使用它。假设您有一个变量uberMenuTxt优先于其他两个变量,您可以这样做。

$text = uberMenuTxt || $menu.jqmData('menu-text') || self.options.menuTxt;

它基本上会在每次当前值出现时继续运行,falsy并且会在第一次出现时停止。

于 2012-04-13T09:44:41.233 回答