推特bootstrap,三元运算符。
Twitter bootstrap , ternary operator .
我正在浏览 Twitter bootstrap 源代码,作为一个 Jquery 新手,我对以下行有点困惑:
var options = typeof option == 'object' && option
button.js 源代码:github
现在我了解了 typeof 检查的内容以及 && 的作用,
这是我的理解,typeof 检查给定变量的类型,&& 是我在 if 语句中经常看到的东西,像这样:
if( a === "ok" && b=true ){ console.log('condition passed'); }
但不知何故我无法理解 button.js 插件中的这一行,这让我很困惑。
源代码中的这一行:The Line
它是某种 if 条件还是什么?
我知道对于像 SO 这样的论坛来说这可能是一个相对简单的问题,但我无法自己将这些问题放在一起。
谢谢。
高塔姆。
意思是:如果option
是一个对象那么option
应该赋值给options
。如果不是这种情况,那么 options
将是 false
.
原说法是:
var options = typeof option == 'object' && object;
这相当于:
var options = typeof option == 'object' ? object : false;
我们赢了七个字:)
利用 JavaScript 的逻辑操作(以及 truthy-falsy 属性)非常普遍,因为它提供了一些简洁且高度可用的模式。
PS:我推荐阅读 this book,它对 JavaScript 设计模式有很好的概述。
typeof option == 'object' && option
如果变量选项被定义为对象类型并为其自身分配了一个值,则上一行将 return 选项。
var options =
将选择 option 或 false 作为结果。
我正在浏览 Twitter bootstrap 源代码,作为一个 Jquery 新手,我对以下行有点困惑:
var options = typeof option == 'object' && option
button.js 源代码:github
现在我了解了 typeof 检查的内容以及 && 的作用,
这是我的理解,typeof 检查给定变量的类型,&& 是我在 if 语句中经常看到的东西,像这样:
if( a === "ok" && b=true ){ console.log('condition passed'); }
但不知何故我无法理解 button.js 插件中的这一行,这让我很困惑。
源代码中的这一行:The Line
它是某种 if 条件还是什么?
我知道对于像 SO 这样的论坛来说这可能是一个相对简单的问题,但我无法自己将这些问题放在一起。
谢谢。
高塔姆。
意思是:如果option
是一个对象那么option
应该赋值给options
。如果不是这种情况,那么 options
将是 false
.
原说法是:
var options = typeof option == 'object' && object;
这相当于:
var options = typeof option == 'object' ? object : false;
我们赢了七个字:)
利用 JavaScript 的逻辑操作(以及 truthy-falsy 属性)非常普遍,因为它提供了一些简洁且高度可用的模式。
PS:我推荐阅读 this book,它对 JavaScript 设计模式有很好的概述。
typeof option == 'object' && option
如果变量选项被定义为对象类型并为其自身分配了一个值,则上一行将 return 选项。
var options =
将选择 option 或 false 作为结果。